• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/usr/eclipseclp/documents/embedding/

Lines Matching defs:and

11 % the License for the specific language governing rights and limitations
37 program as a library, how to start it, and how to
47 the libraries and the include files are described.
52 The libraries and include files needed to use {\eclipse} as an
70 and the the libraries in "/usr/local/eclipse/lib/\$ARCH" where
84 You will need to inform your C or C++ compiler and linker about these
85 directories so that these tools can include and link the appropriate files.
91 A set of example C and C++ programs can be found in
121 \subsection{Compiling, linking and running on Unix/Linux}
124 {\eclipse} installation directory and the environment variable ARCH is set to
149 %\verb+libeclipse.a+ and the necessary support libraries must be specified, e.g.
154 %The libraries \verb+gmp+, \verb+shm+ and \verb+dummies+ are {\eclipse}
155 %support libraries and must be specified in that order.
159 %provided in your installation directory under lib/\$ARCH and adapt it
172 % The details may vary depending on what compiler and operating system
176 \subsection{Compiling, linking and running on Windows}
190 module, and the location of this library, e.g.\
195 link against. This file can be created from \verb+eclipse.def+ and
235 maintaining its own execution state. This section is about when and
245 success and failure continuations and its global stack of all
276 {\eclipse} and a C or C++ main program are like threads running in a
277 single process. Each maintains its state and methods for exchanging
280 data and yielding control to the other thread.
285 with each other, and with any previously posted goals that have
293 calls the \verb.EC_resume(). function and these goals are all
314 The above is an example program that posts a goal and executes it.
316 \subsection{Control flow and search}
319 execution of C++ code and search within the {\eclipse} are interleaved.
324 If you post a number of goals (of which some are non-deterministic) and
325 resume the {\eclipse} execution and the goals succeed, then control returns
327 will fail back into the previous set of goals and these will succeed with
349 to a set of posted goals, and we print out the value of \verb.Pred..
394 The posting of goals and building of any {\eclipse} terms in general
426 The arguments are used for passing data to C++ and from C++.
446 then \verb.result. would be \verb.EC_yield. and \verb.FromEclipse. would
459 input argument that is an \verb.EC_word. and an output that is an
475 \chapter{Managing Data and Memory in Mixed-Language Applications}
480 {\eclipse} is a software engine for constraint propagation and search tasks.
488 and garbage collection, modifications that can be undone in a search context,
489 referential transparency and dynamic typing.
500 referred to by a handle, and interface functions (or methods) provide
503 Both techniques are supported by the {\eclipse}/C and {\eclipse}/C++ interface.
509 \subsection{{\eclipse} atoms and functors}
519 In the above structure 'hardback' and 'fiction' are atoms. 'book'
520 is the functor of that structure, and it has an arity (number
523 Each functor and atom is entered into a dictionary, and is always
525 and \verb.EC_functor. are used to access such dictionary entries.
549 as for {\eclipse} structures and lists. The size remains fixed in all
564 new variables, and for the nil which terminates {\eclipse} lists.
589 formed lists have lists as their tail term and a nil ("[]") at the end, or a
651 include decomposing compound terms such as lists and structures,
652 converting simple terms to C data types and testing the types of terms.
654 The functions for decomposing and converting check that the type
662 (you can convert to \verb.double., \verb.long. and \verb.dident.
664 memory. For strings you declare a \verb.char*. variable and
705 the head is at index 1 and the tail at index 2.
733 that have been registered with the {\eclipse} engine and which do
734 survive execution. The \verb.EC_ref. and \verb.EC_refs. classes
756 restricts you to atoms, integers and nil.
758 You can freely assign between an \verb.EC_ref. and a \verb.EC_word..
778 \subsection{Wrapping and unwrapping external data in an {\eclipse} term}
782 data, and a pointer to a suitable method table (\verb.t_ext_type. structure)
783 and creates an {\eclipse} handle term which refers to them.
809 ec_xt_long_arr and ec_xt_char_arr, new ones can easily be defined.
853 A possible implementation is to return a pointer to the original and
854 e.g.\ increment a reference counter (and decrement the counter in
870 string representation of the object into the buffer, and return the actual
903 // checking a handle and extracting the data pointer