slang-users mailing list

[2005 Date Index] [2005 Thread Index] [Other years]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]

[slang-users] slirp 1.7 released


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]