swig/SWIG/Examples/chicken/constants/precsi.scm
Jonah Beckford 3def239916 Changed module technique from <module_name>- to <module_name>: which
conforms with chicken "egg" standard.  Got rid of ##csi#run for
relinking the Scheme interpreter as no longer needed.  Changed all
documentation to reflect both changes.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4411 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-27 02:00:15 +00:00

42 lines
1.6 KiB
Scheme

(declare (unit precsi))
(declare (uses example))
;; display prelude to csi
(display "constants\n\n")
(display " A SWIG example for the CHICKEN compiler\n")
(display " Author: Jonah Beckford, December 2002\n\n")
(display "C Procedures:\n")
(display " #define ICONST 42\n")
(display " #define FCONST 2.1828\n")
(display " #define CCONST 'x'\n")
(display " #define CCONST2 '\n'\n")
(display " #define SCONST \"Hello World\"\n")
(display " #define SCONST2 \"\\\"Hello World\\\"\"\n")
(display " /* This should work just fine */\n")
(display " #define EXPR ICONST + 3*(FCONST)\n")
(display " /* This shouldn't do anything */\n")
(display " #define EXTERN extern\n")
(display " /* Neither should this (BAR isn't defined) */\n")
(display " #define FOO (ICONST + BAR)\n")
(display " /* The following directives also produce constants. Remember that\n")
(display " CHICKEN is normally case-insensitive, so don't rely on differing\n")
(display " case to differentiate variable names */\n")
(display " %constant int iconstX = 37;\n")
(display " %constant double fconstX = 3.14;\n")
(display "\n")
(display "Scheme Procedures:\n")
(display " (example:ICONST)\n")
(display " (example:FCONST)\n")
(display " (example:CCONST)\n")
(display " (example:CCONST2)\n")
(display " (example:SCONST)\n")
(display " (example:SCONST2)\n")
(display " (example:EXPR)\n")
(display " (example:EXTERN)\n")
(display " (example:FOO)\n")
(display " (example:iconstX)\n")
(display " (example:fconstX)\n")
(display "\n")