Often a file of ATS source code has to be compiled with the use of a 
Makefile.
This can be quite inconvenient in practice.

When teaching, I have to answer countless questions regarding the need of 
certain
flags for compiling ATS code through the use of patscc/patsopt directly.

I recently wrote a command 'myatscc' (which should be available to you if 
you build
the latest version of ATS (that is, ATS2-0.3.5). The simple idea behind of 
'myatscc' is
like this:

Given a file, say, foo.dats, one should be able to compile it by issuing 
the following
command:

myatscc foo.dats

Whatever needed for compiling foo.dats should be written as some form of 
comment
inside foo.dats. For instance, the following comment is assumed to be the 
default (if
nothing is given explicitly):

(*
##myatsccdef=\
patscc -D_GNU_SOURCE -DATS_MEMALLOC_LIBC -o $fname($1) $1
*)

$1: the first non-flag argument passed to myatscc
$fname: a built-in function for myatscc that returns the proper part of a 
filename

If you just want to see what myatscc generates (but not to execute what is 
generated),
please do:

myatscc --dryrun foo.dats

I am pretty 'myatscc' will see a great deal of my own time :)

Cheers!


-- 
You received this message because you are subscribed to the Google Groups 
"ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ats-lang-users+unsubscr...@googlegroups.com.
To post to this group, send email to ats-lang-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/d3738065-539f-4864-834c-1b6365aaa714%40googlegroups.com.

Reply via email to