From 2e8dfbcc3e79ea2c05503f3d018ee999996c2e9a Mon Sep 17 00:00:00 2001
From: William S Fulton
@@ -91,7 +91,7 @@ Also, this chapter is not meant to be a hand-holding tutorial. As a starting po
you should probably look at one of SWIG's existing modules.
@@ -121,7 +121,7 @@ obvious, but almost all SWIG directives as well as the low-level generation of
wrapper code are driven by C++ datatypes.
@@ -158,7 +158,7 @@ role in making the system work. For example, both typemaps and declaration anno
based on pattern matching and interact heavily with the underlying type system.
@@ -203,7 +203,7 @@ latter stage of compilation.
The next few sections briefly describe some of these stages.
@@ -284,7 +284,7 @@ been expanded as well as everything else that goes into the low-level
construction of the wrapper code.
@@ -385,7 +385,7 @@ returning a foo and taking types a and b as
arguments).
@@ -640,7 +640,7 @@ $ swig -c++ -python -debug-module 4 example.i
@@ -659,7 +659,7 @@ that matches the name of the target language. For example, python:foo
perl:foo.
@@ -750,7 +750,7 @@ example.i:5. Previous declaration is foo_i(int )
@@ -806,7 +806,7 @@ For example, the exception code above is simply
stored without any modifications.
@@ -928,7 +928,7 @@ public :
The role of these functions is described shortly.
@@ -941,7 +941,7 @@ internal data structures, it may be useful to keep XML in the back of
your mind as a model.
@@ -987,7 +987,7 @@ typedef Hash Typetab;
-
@@ -1128,7 +1128,7 @@ Returns the number of replacements made (if any).
-
@@ -1205,7 +1205,7 @@ Returns the list of hash table keys.
-
@@ -1294,7 +1294,7 @@ If t is not a standard object, it is assumed to be a char *
and is used to create a String object.
-39 SWIG and Tcl
+39 SWIG and Scilab
+
+
+
+
+40 SWIG and Tcl
40 Extending SWIG to support new languages
+41 Extending SWIG to support new languages
40 Extending SWIG to support new languages
+41 Extending SWIG to support new languages
@@ -75,7 +75,7 @@
-
40.1 Introduction
+41.1 Introduction
40.2 Prerequisites
+41.2 Prerequisites
40.3 The Big Picture
+41.3 The Big Picture
40.4 Execution Model
+41.4 Execution Model
40.4.1 Preprocessing
+41.4.1 Preprocessing
40.4.2 Parsing
+41.4.2 Parsing
40.4.3 Parse Trees
+41.4.3 Parse Trees
40.4.4 Attribute namespaces
+41.4.4 Attribute namespaces
40.4.5 Symbol Tables
+41.4.5 Symbol Tables
40.4.6 The %feature directive
+41.4.6 The %feature directive
40.4.7 Code Generation
+41.4.7 Code Generation
40.4.8 SWIG and XML
+41.4.8 SWIG and XML
40.5 Primitive Data Structures
+41.5 Primitive Data Structures
40.5.1 Strings
+41.5.1 Strings
40.5.2 Hashes
+41.5.2 Hashes
40.5.3 Lists
+41.5.3 Lists
40.5.4 Common operations
+41.5.4 Common operations
The following operations are applicable to all datatypes.
@@ -1349,7 +1349,7 @@ objects and report errors.
Gets the line number associated with x.
-40.5.5 Iterating over Lists and Hashes
+41.5.5 Iterating over Lists and Hashes
To iterate over the elements of a list or a hash table, the following functions are used:
@@ -1394,7 +1394,7 @@ for (j = First(j); j.item; j= Next(j)) {
-40.5.6 I/O
+41.5.6 I/O
Special I/O functions are used for all internal I/O. These operations
@@ -1528,7 +1528,7 @@ Printf(f, "%s\n", s);
Similarly, the preprocessor and parser all operate on string-files.
@@ -1779,7 +1779,7 @@ the attribute is optional. Swig_restore() must always be called after function. -
@@ -1788,7 +1788,7 @@ pointers, references, and pointers to members. A detailed discussion of type theory is impossible here. However, let's cover the highlights.
-@@ -1889,7 +1889,7 @@ make the final type, the two parts are just joined together using string concatenation.
-@@ -2058,7 +2058,7 @@ Returns the prefix of a type. For example, if ty is ty is unmodified. -
@@ -2145,7 +2145,7 @@ Checks if ty is a varargs type. Checks if ty is a templatized type. -
@@ -2247,7 +2247,7 @@ Fully reduces ty according to typedef rules. Resulting datatype will consist only of primitive typenames. -
@@ -2284,7 +2284,7 @@ Literal y; // type = 'Literal', ltype='p.char' -
@@ -2346,7 +2346,7 @@ SWIG, but is most commonly associated with type-descriptor objects that appear in wrappers (e.g., SWIGTYPE_p_double). -
@@ -2445,7 +2445,7 @@ included. Used to emit prototypes. Returns the number of required (non-optional) arguments in p. -
@@ -2460,7 +2460,7 @@ describes the creation of a minimal Python module. You should be able to extra this to other languages.
-@@ -2470,7 +2470,7 @@ the parsing of command line options, all aspects of code generation are controll different methods of the Language that must be defined by your module.
-@@ -2578,7 +2578,7 @@ that activates your module. For example, swig -python foo.i. The messages from your new module should appear.
-@@ -2637,7 +2637,7 @@ to mark the option as valid. If you forget to do this, SWIG will terminate wit unrecognized command line option error.
-@@ -2686,7 +2686,7 @@ an implementation file python.cxx and a configuration file python.swg.
-@@ -2744,7 +2744,7 @@ int Python::top(Node *n) { -
@@ -3199,7 +3199,7 @@ Discuss the kinds of functions typically needed for SWIG runtime support (e.g. the SWIG files that implement those functions.
-@@ -3218,7 +3218,7 @@ The following are the minimum that are usually supported: Please copy these and modify for any new language.
-@@ -3247,7 +3247,7 @@ during this process, see the section on .
-@@ -3306,7 +3306,7 @@ It is therefore essential that the runtime tests are written in a manner that di but error/exception out with an error message on stderr on failure.
-@@ -3498,7 +3498,7 @@ It can be run in the same way as the other language test-suites, replacing [lang The test cases used and the way it works is described in Examples/test-suite/errors/Makefile.in.
-@@ -3530,7 +3530,7 @@ Some topics that you'll want to be sure to address include: if available. -
@@ -3587,7 +3587,7 @@ should be added should there be an area not already covered by the existing tests.
-@@ -3611,7 +3611,7 @@ The generated C/C++ code should also follow this style as close as possible. How should be avoided as unlike the SWIG developers, users will never have consistent tab settings.
-@@ -3638,7 +3638,7 @@ There are various command line options which can aid debugging a SWIG interface The complete list of command line options for SWIG are available by running swig -help.
-@@ -4046,7 +4046,7 @@ extern "X" { ... } declaration. -
diff --git a/Doc/Manual/Sections.html b/Doc/Manual/Sections.html index 666069264..cfd3aa906 100644 --- a/Doc/Manual/Sections.html +++ b/Doc/Manual/Sections.html @@ -55,6 +55,7 @@ Last update : SWIG-3.0.5 (in progress)
@@ -109,7 +109,7 @@ build a Tcl extension module. To finish building the module, you need to compile this file and link it with the rest of your program.
-@@ -127,7 +127,7 @@ this is the case, you should probably make a symbolic link so that tcl.h -
@@ -163,7 +163,7 @@ The name of the module is specified using the %module directive or the -module command line option.
-@@ -229,7 +229,7 @@ minimal in most situations (and quite frankly not worth the extra hassle in the opinion of this author).
-@@ -357,7 +357,7 @@ to the default system configuration (this requires root access and you will need the man pages).
-@@ -440,7 +440,7 @@ erratic program behavior. If working with lots of software components, you might want to investigate using a more formal standard such as COM.
-@@ -467,7 +467,7 @@ also introduce problems on platforms that support more than one linking standard (e.g., -o32 and -n32 on Irix).
-@@ -486,7 +486,7 @@ option will append the prefix to the name when creating a command and call it "Foo_bar".
-@@ -508,7 +508,7 @@ When the -namespace option is used, objects in the module are always accessed with the namespace name such as Foo::bar.
-@@ -519,7 +519,7 @@ covers the process of using SWIG with Microsoft Visual C++. although the procedure may be similar with other compilers.
-@@ -577,7 +577,7 @@ MSDOS > tclsh80 %
@@ -640,7 +640,7 @@ to get you started. With a little practice, you'll be making lots of Tcl extensions.
-@@ -651,7 +651,7 @@ classes. This section briefly covers the essential aspects of this wrapping.
-@@ -685,7 +685,7 @@ To fix this, supply an extra argument to load like this: -
@@ -710,7 +710,7 @@ like you think it does: % -
@@ -790,7 +790,7 @@ extern char *path; // Read-only (due to %immutable) -
@@ -874,7 +874,7 @@ When an identifier name is given, it is used to perform an implicit hash-table l conversion. This allows the global statement to be omitted.
-@@ -970,7 +970,7 @@ C-style cast may return a bogus result whereas as the C++-style cast will return None if the conversion can't be performed.
-@@ -1252,7 +1252,7 @@ Note: Tcl only destroys the underlying object if it has ownership. See the memory management section that appears shortly.
-@@ -1319,7 +1319,7 @@ In Tcl, the static member is accessed as follows: -
@@ -1368,7 +1368,7 @@ For instance: It is safe to use multiple inheritance with SWIG.
-@@ -1422,7 +1422,7 @@ to hold the result and a pointer is returned (Tcl will release this memory when the return value is garbage collected).
-@@ -1545,7 +1545,7 @@ first declaration takes precedence. Please refer to the "SWIG and C++" chapter for more information about overloading.
-@@ -1647,7 +1647,7 @@ There are ways to make this operator appear as part of the class using the % Keep reading.
-@@ -1711,7 +1711,7 @@ utilizes thousands of small deeply nested namespaces each with identical symbol names, well, then you get what you deserve.
-@@ -1763,7 +1763,7 @@ More details can be found in the SWIG and C++ examples will appear later.
-@@ -1847,7 +1847,7 @@ simply use the __deref__() method. For example: -
@@ -1860,7 +1860,7 @@ of low-level details were omitted. This section provides a brief overview of how the proxy classes work.
-@@ -1925,7 +1925,7 @@ function. This allows objects to be encapsulated objects that look a lot like as shown in the last section.
-@@ -2113,7 +2113,7 @@ typemaps--an advanced topic discussed later.
-@@ -2301,7 +2301,7 @@ set c [lindex $dim 1] -
@@ -2435,7 +2435,7 @@ Since SWIG's exception handling is user-definable, you are not limited to C++ ex See the chapter on "Customization Features" for more examples.
-@@ -2452,7 +2452,7 @@ Typemaps are only used if you want to change some aspect of the primitive C-Tcl interface.
-@@ -2569,7 +2569,7 @@ parameter is omitted): -
@@ -2707,7 +2707,7 @@ Initialize an argument to a value before any conversions occur. Examples of these methods will appear shortly.
-@@ -2778,7 +2778,7 @@ properly assigned. The Tcl name of the wrapper function being created. -
@@ -2840,7 +2840,7 @@ argv[2] = Larry 3 -
@@ -2882,7 +2882,7 @@ result, a Tcl function using these typemaps will work like this : % -
@@ -2958,7 +2958,7 @@ int Tcl_IsShared(Tcl_Obj *obj); -
@@ -3043,7 +3043,7 @@ work) -
@@ -3119,7 +3119,7 @@ For example: -
@@ -3191,7 +3191,7 @@ As a final note, most SWIG examples do not yet use the to use the load command instead.
-@@ -3290,7 +3290,7 @@ danger of blowing something up (although it is easily accomplished with an out of bounds array access).
-@@ -3411,7 +3411,7 @@ short, but clever Tcl script can be combined with SWIG to do many interesting things.
-diff --git a/Doc/Manual/chapters b/Doc/Manual/chapters index c5f655254..d94a8a396 100644 --- a/Doc/Manual/chapters +++ b/Doc/Manual/chapters @@ -36,5 +36,6 @@ Pike.html Python.html R.html Ruby.html +Scilab.html Tcl.html Extending.html