swigp4-ified examples.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5232 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Art Yerkes 2003-11-01 07:53:48 +00:00
commit 0374f54fce
4 changed files with 21 additions and 15 deletions

View file

@ -21,6 +21,12 @@ static::
PROGFILE='$(PROGFILE)' OBJS='$(OBJS)' \ PROGFILE='$(PROGFILE)' OBJS='$(OBJS)' \
ocaml_static ocaml_static
toplevel::
$(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \
TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' MLFILE='$(MLFILE)' \
PROGFILE='$(PROGFILE)' OBJS='$(OBJS)' \
ocaml_static_toplevel
clean:: clean::
$(MAKE) -f $(TOP)/Makefile MLFILE='$(MLFILE)' ocaml_clean $(MAKE) -f $(TOP)/Makefile MLFILE='$(MLFILE)' ocaml_clean

View file

@ -7,26 +7,21 @@ open Example
exception NoReturn exception NoReturn
let single_int x = let x = 42 to int
match x with C_int a -> a | _ -> raise NoReturn let y = 105 to int
let get_float x = let g = _gcd '(x,y) as int
match x with C_float f -> f | C_double f -> f | _ -> raise NoReturn let _ = Printf.printf "The gcd of %d and %d is %d\n" (x as int) (y as int) g
let x = 42
let y = 105
let g = single_int (_gcd (C_list [ C_int x ; C_int y ]))
let _ = Printf.printf "The gcd of %d and %d is %d\n" x y g
(* Manipulate the Foo global variable *) (* Manipulate the Foo global variable *)
(* Output its current value *) (* Output its current value *)
let _ = Printf.printf "Foo = %f\n" (get_float (_Foo C_void)) let _ = Printf.printf "Foo = %f\n" (_Foo '() as float)
(* Change its value *) (* Change its value *)
let _ = _Foo (C_float 3.1415926) let _ = _Foo '(3.1415926)
(* See if the change took effect *) (* See if the change took effect *)
let _ = Printf.printf "Foo = %f\n" (get_float (_Foo C_void)) let _ = Printf.printf "Foo = %f\n" (_Foo '() as float)

View file

@ -22,6 +22,11 @@ dynamic::
PROGFILE='$(PROGFILE)' TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' \ PROGFILE='$(PROGFILE)' TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' \
ocaml_static_cpp ocaml_static_cpp
toplevel::
$(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \
PROGFILE='$(PROGFILE)' TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' \
ocaml_static_cpp_toplevel
clean:: clean::
$(MAKE) -f $(TOP)/Makefile TARGET='$(TARGET)' ocaml_clean $(MAKE) -f $(TOP)/Makefile TARGET='$(TARGET)' ocaml_clean

View file

@ -3,11 +3,11 @@
open Swig open Swig
open Example open Example
let v = new_StringVector C_void let v = new_StringVector '()
let _ = let _ =
for i = 0 to (Array.length Sys.argv) - 1 do for i = 0 to (Array.length Sys.argv) - 1 do
(invoke v) "push_back" (C_string Sys.argv.(i)) let str = (Sys.argv.(i)) to string in v -> push_back (str)
done done
let _ = _vec_write v let _ = _vec_write '(v)