- Subject: [slang-users] slirp 1.7 released
- From: Michael Noble <mnoble@xxxxxxxxxxxxx>
- Date: Thu, 24 Mar 2005 16:33:16 -0500
Fellow S-Lang'ers,
I've been slacking on posting annoucements these past few months, so
let me get back to good habits by noting that SLIRP version 1.7 is
now available at
http://space.mit.edu/CXC/software/slang/modules/slirp/
SLIRP is a C code generator, aimed at simplifying the process of
creating modules for the S-Lang scripting language. Using it can
dramatically reduce the time and effort required to make a wide
range of C, C++, and FORTRAN codes callable directly from the
S-Lang interpreter.
Regards,
Mike Noble
-------------
Changes in v1.7.0
1. More accurate usage message for single-arg C++ funcs w/ default value
2. Better support for C++ reference semantics (still only input, though)
3. alloca() a single variable for struct args, instead of 2 (instance, ptr)
4. Generalization: use typeclass-specific callbacks for declaration,
marshal/referencing/return, instead of checking each individual arg
5. Support use of opaquely typed variables w/in annotation code fragments,
which also induced a change to the signature of SLang_pop_opaque()
6. Added __process_name intrinsic variable, to reflect the process argv[0]
7. Added '-m symbol' switch to importify utility, which allows main() to
be overridden by renaming it to symbol()
8. Former -l option (list opaque type hierarchy) renamed to -otree
9. Added experimental -make switch (emits a make file that can be used
to automate compilation of the module) and several related switches:
. -I to specify dirs to search for headers at generate/compile time
. -L to specify dirs to search at link time
. -l to specify libs to pull in at link time
. -ldflags as an alternative/supplement to -L and -l
10. Added examples/makef to demonstrate makefile generation functionality
11. Added __find_file_in_path intrinsic function, to support -I
12. Relative path prefix on an input header is retained in generated code
13. #define macros whose values are simple references to other macros, or
simple logical combinations of them, are now wrapped, too
14. Global, statically-sized arrays of scalars defined w/in a header are
now also reflected in S-Lang scope (as read-only arrays)
15. Introduced proxy annotation [#argmap(in) int FD_PROXY] to allow S-Lang
FD_Type [returned by open()] to be passed as an int file descriptor
16. Added transparent support for passing S-Lang File_Type [returned by
fopen(), etc] variables to wrapped functions in place of FILE*
17. New #inline_c annotation, which can simplify module creation by
inclusion of hand-written code directly within interface file
18. New SLprep_handler_passthru(handler,pattern) C function (and S-Lang
preproc_handler_passthru wrapper), which permits lines beginning with
the given preprocessor pattern to pass through a currently active
preprocessor extension callback without complaint, e.g.
#inline_c
#define FOO 1
#include "stdio.h"
#end
regardless of where the pattern begins on the input line. Previously
this was possible only by indenting the content, e.g.
#inline_c
#define FOO 1
#include "stdio.h"
#end
but that approach was non-obvious and too fragile.
19. Fixed problem of #argmaps returning multiple values in reverse
order (reported by cstawarz@xxxxxxxxxxxxxxx)
20. Several enhancements for C++ references and enumerated types,
suggested by Warren McLaughlin (wmclaugh@xxxxxxxxxxxxxxx)
21. Compatibility tweaks for latest SLang2 development snapshots.
_______________________________________________
To unsubscribe, visit http://jedsoft.org/slang/mailinglists.html
[2005 date index]
[2005 thread index]
[Thread Prev] [Thread Next]
[Date Prev] [Date Next]