doc
This commit is contained in:
parent
9272a1c7d5
commit
d0b2924322
36
C/absmi.c
36
C/absmi.c
@ -22,25 +22,49 @@
|
|||||||
|
|
||||||
@file absmi.c
|
@file absmi.c
|
||||||
|
|
||||||
@defgroup Efficiency Efficiency Considerations
|
@{
|
||||||
@ingroup YAPProgramming
|
|
||||||
|
|
||||||
We next discuss several issues on trying to make Prolog programs run
|
We next discuss several issues on trying to make Prolog programs run
|
||||||
fast in YAP. We assume two different programming styles:
|
fast in YAP. We assume two different programming styles:
|
||||||
|
|
||||||
+ Execution of <em>deterministic</em> programs ofte
|
+ Execution of <em>deterministic</em> programs often
|
||||||
n
|
|
||||||
boils down to a recursive loop of the form:
|
boils down to a recursive loop of the form:
|
||||||
|
|
||||||
~~~~~
|
~~~~~
|
||||||
|
loop(Done).
|
||||||
loop(Env) :-
|
loop(Env) :-
|
||||||
do_something(Env,NewEnv),
|
do_something(Env,NewEnv),
|
||||||
loop(NewEnv).
|
loop(NewEnv).
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
|
or to the repeat-fail loop:
|
||||||
|
|
||||||
|
~~~~~
|
||||||
|
loop(Inp) :-
|
||||||
|
do_something(Inp,Out),
|
||||||
|
out_and_fail(Out).
|
||||||
|
~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
@}
|
||||||
|
|
||||||
|
@defgroup Implementation Implementation Considerations
|
||||||
|
@ingroup YAPProgramming
|
||||||
|
|
||||||
|
This section is about the YAP implementation, and is mostly of
|
||||||
|
interest to hackers.
|
||||||
|
|
||||||
|
@{
|
||||||
|
|
||||||
|
@defgroup Emulator The Abstract Machine Emulator
|
||||||
|
@ingroup Implementation
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/// code belongs to the emulator
|
||||||
#define IN_ABSMI_C 1
|
#define IN_ABSMI_C 1
|
||||||
#define _INATIVE 1
|
#define _INATIVE 1
|
||||||
|
/// use tmp variables that are placed in registers
|
||||||
#define HAS_CACHE_REGS 1
|
#define HAS_CACHE_REGS 1
|
||||||
|
|
||||||
#include "absmi.h"
|
#include "absmi.h"
|
||||||
@ -1420,3 +1444,7 @@ default:
|
|||||||
|
|
||||||
/* dummy function that is needed for profiler */
|
/* dummy function that is needed for profiler */
|
||||||
int Yap_absmiEND(void) { return 1; }
|
int Yap_absmiEND(void) { return 1; }
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
/// @}
|
||||||
|
@ -29,7 +29,7 @@ static char SccsId[] = "%W% %G%";
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@adefgroup AttributedVariables_Builtins Low-level support for Attributed Variables
|
@defgroup AttributedVariables_Builtins Low-level support for Attributed Variables
|
||||||
|
|
||||||
@brief Implementation of Attribute Declarations
|
@brief Implementation of Attribute Declarations
|
||||||
@ingroup attributes
|
@ingroup attributes
|
||||||
|
@ -1153,10 +1153,9 @@ HTML_STYLESHEET =
|
|||||||
# list). For an example see the documentation.
|
# list). For an example see the documentation.
|
||||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||||
|
|
||||||
HTML_EXTRA_STYLESHEET = @CMAKE_SOURCE_DIR@/docs/custom/customdoxygen.css
|
HTML_EXTRA_STYLESHEET = @CMAKE_SOURCE_DIR@/docs/custom/customdoxygen.css \
|
||||||
|
@CMAKE_SOURCE_DIR@/docs/custom/pygments.css \
|
||||||
|
@CMAKE_SOURCE_DIR@/docs/solarized-light.css
|
||||||
# @CMAKE_SOURCE_DIR@/docs/solarized-light.css
|
|
||||||
|
|
||||||
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
|
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
|
||||||
# other source files which should be copied to the HTML output directory. Note
|
# other source files which should be copied to the HTML output directory. Note
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
* { box-sizing:border-box }
|
||||||
|
|
||||||
h1, .h1, h2, .h2, h3, .h3{
|
h1, .h1, h2, .h2, h3, .h3{
|
||||||
font-weight: 200 !important;
|
font-weight: 200 !important;
|
||||||
}
|
}
|
||||||
@ -8,7 +10,8 @@ h1, .h1, h2, .h2, h3, .h3{
|
|||||||
|
|
||||||
.adjust-right {
|
.adjust-right {
|
||||||
margin-left: 30px !important;
|
margin-left: 30px !important;
|
||||||
font-size: 1.15em !important;
|
margin-right: 30px !important;
|
||||||
|
Font-size: 1.15em !important;
|
||||||
}
|
}
|
||||||
.navbar{
|
.navbar{
|
||||||
border: 0px solid #222 !important;
|
border: 0px solid #222 !important;
|
||||||
|
@ -28,7 +28,7 @@ interface.
|
|||||||
+ @ref sicsatts
|
+ @ref sicsatts
|
||||||
+ @ref New_Style_Attribute_Declarations
|
+ @ref New_Style_Attribute_Declarations
|
||||||
+ @ref AttributedVariables_Builtins
|
+ @ref AttributedVariables_Builtins
|
||||||
+ @ref corout
|
+ @ref attscorouts
|
||||||
|
|
||||||
### SICStus Style attribute declarations. {#SICS_attributes}
|
### SICStus Style attribute declarations. {#SICS_attributes}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Attributed Variables and Corouting {#atts}
|
Attributed Variables and Coroutingx
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ YAP packages {#packages}
|
|||||||
|
|
||||||
+ @subpage gecode
|
+ @subpage gecode
|
||||||
|
|
||||||
+ @subpage myddas_dbms
|
+ @subpage myddas
|
||||||
|
|
||||||
+ @ref PFL
|
+ @ref PFL
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Programming in YAP {#YAPProgramming}
|
Programming in YAP {#YAPProgramming}
|
||||||
====================
|
====================
|
||||||
|
|
||||||
+ @ref Syntax
|
+ @subpage YAPSyntax
|
||||||
|
|
||||||
+ @ref YAPCompilerSettings
|
+ @ref YAPCompilerSettings
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ resulted in Prolog extensions such as the `dialect` feature. YAP
|
|||||||
currently supports most of the SWI-Prolog foreign interface. The following SWI
|
currently supports most of the SWI-Prolog foreign interface. The following SWI
|
||||||
libraries have been adapted to YAP:
|
libraries have been adapted to YAP:
|
||||||
|
|
||||||
|
~~~~~
|
||||||
+ @ref aggregate
|
+ @ref aggregate
|
||||||
+ @ref base64
|
+ @ref base64
|
||||||
+ @ref broadcast
|
+ @ref broadcast
|
||||||
@ -42,6 +43,7 @@ libraries have been adapted to YAP:
|
|||||||
+ @ref utf8
|
+ @ref utf8
|
||||||
+ @ref win_menu
|
+ @ref win_menu
|
||||||
+ @ref www_browser
|
+ @ref www_browser
|
||||||
|
~~~~~
|
||||||
|
|
||||||
|
|
||||||
Note that in general SWI code may be from an earlier version than the
|
Note that in general SWI code may be from an earlier version than the
|
||||||
|
@ -74,14 +74,12 @@ acknowledge the contributions from Ashwin Srinivasian.
|
|||||||
YAP includes a number of extensions over the original Prolog
|
YAP includes a number of extensions over the original Prolog
|
||||||
language.
|
language.
|
||||||
|
|
||||||
+ @subpage atts
|
+ @subpage atts.md
|
||||||
|
|
||||||
+ @ref Rational_Trees
|
+ @ref Rational_Trees
|
||||||
|
|
||||||
+ @ref CohYroutining
|
+ @ref CohYroutining
|
||||||
|
|
||||||
+ @ref Attributed_Variables
|
|
||||||
|
|
||||||
+ @ref DepthLimited
|
+ @ref DepthLimited
|
||||||
|
|
||||||
+ @ref Tabling
|
+ @ref Tabling
|
||||||
@ -97,15 +95,8 @@ language.
|
|||||||
|
|
||||||
@page YAPProgramming Programming in YAP
|
@page YAPProgramming Programming in YAP
|
||||||
|
|
||||||
@subpage yapsyntax.md
|
|
||||||
|
|
||||||
|
|
||||||
@page packages Packages for YAP
|
@page packages Packages for YAP
|
||||||
YAP includes a number of packages.
|
|
||||||
|
|
||||||
@subpage real.md
|
|
||||||
|
|
||||||
@subpage chr.md
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
@ingroup YAPProgramming
|
YAP Syntax {#YAPSyntax}
|
||||||
|
====================
|
||||||
|
|
||||||
We will describe the syntax of YAP at two levels. We first will
|
We will describe the syntax of YAP at two levels. We first will
|
||||||
describe the syntax for Prolog terms. In a second level we describe
|
describe the syntax for Prolog terms. In a second level we describe
|
||||||
|
@ -44,7 +44,7 @@ extensions = ['sphinx.ext.autodoc',
|
|||||||
'breathe'
|
'breathe'
|
||||||
]
|
]
|
||||||
|
|
||||||
breathe_projects = { "yap": "${CMAKE_CURRENT_BINARY_DIR" }
|
breathe_projects = { "yap": "../../build/docs/xml" }
|
||||||
breathe_default_project = "yap"
|
breathe_default_project = "yap"
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
@defgroup BDDsPL Binary Decision Diagrams and Friends
|
/**
|
||||||
|
|
||||||
|
@file bdd.yap
|
||||||
|
|
||||||
|
@defgroup BDDsPL Binary Decision Diagrams and Friends
|
||||||
@ingroup BDDs
|
@ingroup BDDs
|
||||||
@{
|
@{
|
||||||
|
|
||||||
|
@ -213,10 +213,9 @@ logical :-
|
|||||||
|
|
||||||
Also @subpaage yap-real describes the YAP specfic details in real.
|
Also @subpaage yap-real describes the YAP specfic details in real.
|
||||||
|
|
||||||
*/Development of real in YAP (#yap-real)
|
*/Development of real in YAP (#yap_real)
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
|
||||||
YAP includes a development version of real, designed to experiment
|
YAP includes a development version of real, designed to experiment
|
||||||
with the internals of the implementation of R. It includes major
|
with the internals of the implementation of R. It includes major
|
||||||
changes and is likely to be much less stable than the version
|
changes and is likely to be much less stable than the version
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
% YAP_ARRAYS is defined in Yap.h
|
% YAP_ARRAYS is defined in Yap.h
|
||||||
%
|
%
|
||||||
|
|
||||||
/** @pred array(+ _Name_, + _Size_)
|
/** @pred array( +Name, +Size )
|
||||||
|
|
||||||
|
|
||||||
Creates a new dynamic array. The _Size_ must evaluate to an
|
Creates a new dynamic array. The _Size_ must evaluate to an
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
|
|
||||||
|
@file meta.yap
|
||||||
|
|
||||||
@defgroup YAPMetaPredicates Using Meta-Calls with Modules
|
@defgroup YAPMetaPredicates Using Meta-Calls with Modules
|
||||||
@ingroup YAPModules
|
@ingroup YAPModules
|
||||||
|
@ -18,7 +18,12 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
@file modules.yap
|
@file modules.yap
|
||||||
**/
|
|
||||||
|
@defgroup ModuleBuiltins Module Support
|
||||||
|
|
||||||
|
@{
|
||||||
|
|
||||||
|
**/
|
||||||
:- system_module( '$_modules', [abolish_module/1,
|
:- system_module( '$_modules', [abolish_module/1,
|
||||||
add_import_module/3,
|
add_import_module/3,
|
||||||
current_module/1,
|
current_module/1,
|
||||||
@ -783,3 +788,5 @@ module_state :-
|
|||||||
format(' ~w:~w :- ~w:~w.~n',[M,G,HostM,G0]),
|
format(' ~w:~w :- ~w:~w.~n',[M,G,HostM,G0]),
|
||||||
fail.
|
fail.
|
||||||
module_state.
|
module_state.
|
||||||
|
|
||||||
|
// @}
|
Reference in New Issue
Block a user