This commit is contained in:
Vitor Santos Costa 2017-06-26 01:17:51 +01:00
parent 9272a1c7d5
commit d0b2924322
17 changed files with 66 additions and 31 deletions

View File

@ -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; }
/// @}
/// @}

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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}

View File

@ -1,4 +1,4 @@
Attributed Variables and Corouting {#atts} Attributed Variables and Coroutingx
================================== ==================================

View File

@ -7,7 +7,7 @@ YAP packages {#packages}
+ @subpage gecode + @subpage gecode
+ @subpage myddas_dbms + @subpage myddas
+ @ref PFL + @ref PFL

View File

@ -1,7 +1,7 @@
Programming in YAP {#YAPProgramming} Programming in YAP {#YAPProgramming}
==================== ====================
+ @ref Syntax + @subpage YAPSyntax
+ @ref YAPCompilerSettings + @ref YAPCompilerSettings

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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
@{ @{

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.
// @}