YAP 7.1.0
flags.yap
Go to the documentation of this file.
1/*************************************************************************
2* *
3* YAP Prolog *
4* *
5* Yap Prolog was developed at NCCUP - Universidade do Porto *
6* *
7* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
8* *
9**************************************************************************
10* *
11* File: flags.yap *
12* Last rev: *
13* mods: *
14* comments: controlling YAP *
15* *
16*************************************************************************/
17/**
18 * @file flags.yap
19 *
20 * @defgroup YAPFlagsP Prolog Support
21 * @{
22 * @ingroup YAPFlags
23 *
24 */
25
26
27
28:- system_module( '$_flags', [create_prolog_flag/3,
31 prolog_flag/2,
37 yap_flag/3], []).
38
39
40'$adjust_language'(cprolog) :-
41% '$switch_log_upd'(0),
42 '$syntax_check_mode'(_,off),
43 '$syntax_check_single_var'(_,off),
44 '$syntax_check_discontiguous'(_,off),
45 '$syntax_check_multiple'(_,off),
46 '$swi_set_prolog_flag'(character_escapes, false), % disable character escapes.
47 '$set_yap_flags'(14,1),
48 '$set_fpu_exceptions'(true),
49 unknown(_,fail).
50'$adjust_language'(sicstus) :-
51 '$switch_log_upd'(1),
52 leash(full),
53 '$syntax_check_mode'(_,on),
54 '$syntax_check_single_var'(_,on),
55 '$syntax_check_discontiguous'(_,on),
56 '$syntax_check_multiple'(_,on),
57 '$transl_to_on_off'(X1,on),
58 '$set_yap_flags'(5,X1),
59 '$force_char_conversion',
60 '$set_yap_flags'(14,0),
61 % CHARACTER_ESCAPE
62 '$swi_set_prolog_flag'(character_escapes, true), % disable character escapes.
63 '$set_fpu_exceptions'(true),
64 '$swi_set_prolog_flag'(file_errors, error),
65 unknown(_,error).
66'$adjust_language'(iso) :-
67 '$switch_log_upd'(1),
68 style_check(all),
69 set_prolog_flag(file_errors,error),
70 '$transl_to_on_off'(X1,on),
71 % CHAR_CONVERSION
72 '$set_yap_flags'(5,X1),
73 '$force_char_conversion',
74 % ALLOW_ASSERTING_STATIC
75 '$set_yap_flags'(14,0),
76 % CHARACTER_ESCAPE
77 '$swi_set_prolog_flag'(character_escapes, true), % disable character escapes.
78 '$set_fpu_exceptions'(true),
79 unknown(_,error).
80
81
82/** @pred create_prolog_flag( +Flag, +Value, +Options)
83
84Create a new YAP Prolog flag. _Options_ include
85
86 * `type(+_Type_)` with _Type_ one of `boolean`, `integer`, `float`, `atom`
87and `term` (that is, any ground term)
88
89 * `access(+_Access_)` with _Access_ one of `read_only` or `read_write`
90
91 * `keeep(+_Keep_) protect existing flag.
92*/
93create_prolog_flag(Name, Value, Options) :-
94 '$flag_domain_from_value'( Value, Type ),
95 '$create_prolog_flag'(Name, Value, [type(Type)|Options]).
96
97'$flag_domain_from_value'(true, boolean) :- '$flag_domain_from_value'.
98'$flag_domain_from_value'(false, boolean) :- '$flag_domain_from_value'.
99'$flag_domain_from_value'(Value, integer) :- integer(Value), integer.
100'$flag_domain_from_value'(Value, float) :- float(Value), float.
101'$flag_domain_from_value'(Value, atom) :- atom(Value), atom.
102'$flag_domain_from_value'(_, term).
103
104/**
105@}
106*/
107
yap_flag( ?Param, ?Value)
leash(+ M)
no need for code at this point
create_prolog_flag( +Flag, +Value, +Options)
current_prolog_flag(? Flag,- Value)
no_source
prolog_flag(? Flag,- OldValue,+ NewValue)
set_prolog_flag(+ Flag,+ Value)
source
source_mode(- O,+ N)
atom( T)
float( T)
integer( T)