summaryrefslogtreecommitdiff
path: root/tests/lexers/logtalk
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lexers/logtalk')
-rw-r--r--tests/lexers/logtalk/example.txt3228
1 files changed, 3228 insertions, 0 deletions
diff --git a/tests/lexers/logtalk/example.txt b/tests/lexers/logtalk/example.txt
new file mode 100644
index 00000000..00b9cf8b
--- /dev/null
+++ b/tests/lexers/logtalk/example.txt
@@ -0,0 +1,3228 @@
+---input---
+
+% this is a single-line comment
+
+/*
+this is
+a block
+comment
+*/
+
+
+:- encoding(some_encoding).
+:- op(Precedence, Associativity, Operator).
+
+
+:- object(prototype,
+ implements(protocol),
+ imports(category),
+ extends(parent)).
+
+ :- info([
+ version is 1.0,
+ author is 'Paulo Moura',
+ date is 2008/5/1,
+ comment is 'Sample prototype for testing syntax coloring.']).
+ :- threaded.
+ :- synchronized.
+ :- dynamic.
+ :- initialization(some_goal(X, Y)).
+ :- calls(some_other_protocol).
+ :- uses(another_object).
+
+ :- alias(set, member/2, set_member/2).
+ :- alias(words, singular//0, peculiar//0).
+
+ :- uses(list, [append/3, member/2]).
+ :- uses(queues, [new/1::new_queue/1]).
+
+ :- public(aaa/2).
+ :- meta_predicate(aaa(::, *)).
+ :- discontiguous(aaa/2).
+ :- mode(aaa(+callable, ?integer), zero_or_one).
+ :- info(position/2, [
+ comment is 'Predicate brief description.',
+ arguments is ['Arg1'-'Arg1 description', 'Arg2'-'Arg2 description']]).
+
+ :- protected(bbb/2).
+ :- synchronized(bbb/2).
+ :- mode(bbb(+integer, -float), one).
+ :- info(bbb/2, [
+ comment is 'Predicate brief description.',
+ argnames is ['Arg1', 'Arg2']]).
+
+ :- private(ccc/2).
+ :- dynamic(ccc/2).
+ :- mode(ccc(@atom, ?atom), one_or_more).
+ :- info(ccc/2, [
+ comment is 'Predicate brief description.',
+ argnames is ['Arg1', 'Arg2']]).
+
+ enumerating_entities(Object, Protocol, Category) :-
+ current_category(Category),
+ current_object(Object),
+ current_protocol(Protocol).
+
+ enumerating_properties :-
+ category_property(Category, Property),
+ object_property(Object, Property),
+ protocol_property(Protocol, Property).
+
+ creating_entities(Object, Protocol, Category) :-
+ create_category(Category, Relations, Directives, Clauses),
+ create_object(Object, Relations, Directives, Clauses),
+ create_protocol(Protocol, Relations, Directives).
+
+ abolishing_entities(Object, Protocol, Category) :-
+ abolish_category(Category),
+ abolish_object(Object),
+ abolish_protocol(Protocol).
+
+ entity_relations :-
+ extends_object(Prototype, Parent, Scope),
+ extends_protocol(Protocol1, Protocol2, Scope),
+ extends_category(Category1, Category2, Scope),
+ implements_protocol(Object, Protocol, Scope),
+ imports_category(Object, Category, Scope),
+ instantiates_class(Instance, Class, Scope),
+ specializes_class(Class, Superclass, Scope),
+ complements_object(Category, Object).
+
+ event_handling :-
+ abolish_events(Event, Object, Message, Sender, Monitor),
+ current_event(Event, Object, Message, Sender, Monitor),
+ define_events(Event, Object, Message, Sender, Monitor).
+
+ multi_threading :-
+ threaded(Goals),
+ threaded_call(Goal),
+ threaded_once(Goal),
+ threaded_ignore(Goal),
+ threaded_exit(Goal),
+ threaded_peek(Goal),
+ threaded_wait(Goal),
+ threaded_notify(Notification).
+
+ compiling_and_loading :-
+ logtalk_compile(File, Options),
+ logtalk_load(File, Options),
+ logtalk_library_path(Library, Path).
+
+ flags :-
+ current_logtalk_flag(Flag, Value),
+ set_logtalk_flag(Flag, Value).
+
+ execution_context_methods :-
+ parameter(N, Parameter),
+ self(Self),
+ sender(Sender),
+ this(This).
+
+ reflection_methods :-
+ current_predicate(Predicate),
+ predicate_property(Predicate, Property).
+
+ database_methods :-
+ abolish(Functor/Arity),
+ asserta(Clause),
+ assertz(Clause),
+ clause(Head, Body),
+ retract(Clause),
+ retractall(Head).
+
+ meta_call_methods :-
+ call(Goal).
+
+ all_solutions_methods :-
+ bagof(Term, Goal, List),
+ findall(Term, Goal, List),
+ forall(Generate, Test),
+ setof(Term, Goal, List).
+
+ event_handler_methods :-
+ before(Object, Message, Sender),
+ after(Object, Message, Sender).
+
+ dcg_rules_parsing_methods :-
+ phrase(NonTerminal, Input, Rest).
+
+ term_expansion_methods :-
+ expand_term(Term, Expanded),
+ term_expansion(Term, Expanded),
+ goal_expansion(Goal, Expanded).
+
+ message_sending :-
+ Object::Message,
+ ::Message,
+ ^^Message.
+
+ calling_external_code :-
+ {goal1, goal2, goal3}.
+
+ context_switching_calls :-
+ Object<<Goal.
+
+ direct_calls_of_category_predicates :-
+ :Goal.
+
+ if_then_else :-
+ ( If ->
+ Then
+ ; Else
+ ).
+
+ numbers :-
+ X is 13,
+ Y is 13.13,
+ Z is 13.13e-23,
+ C1 is 0'A, C2 is 0'', C3 is 0'",
+ B is 0b1011101,
+ O is 0o1234560,
+ H is 0x1234567890abcDEF.
+
+ functions :-
+ A is atan(3.14) + sin(0.77) - cos(123.23),
+ B is sign(-12) * abs(35/78),
+ C is truncate(3.14) + round(-7.8) - ceiling(111.88),
+ D is exp(3.8) - log(123.98) / sqrt(33) * 23 ** 4,
+ E is rem(3, 2) + mod(5, 3) * 2 rem 2 // 5 mod 3,
+ F is float_fractional_part(3.14) + float_integer_part(3.14),
+ G is float(33) + floor(99.99).
+
+ bitwise :-
+ A is 16 >> 2,
+ B is 16 << 2,
+ C is 10 /\ 12,
+ D is 10 \/ 12,
+ E is \ 10.
+
+ term_unification :-
+ Term1 = Term2,
+ Term1 \= Term2,
+ unify_with_occurs_check(Term1, Term2).
+
+ term_testing :-
+ atom(Atom),
+ atomic(Atomic),
+ integer(Integer),
+ float(Float),
+ compound(Term),
+ nonvar(Term),
+ var(Term),
+ number(Number).
+
+ term_comparison :-
+ Term1 == Term2,
+ Term1 \== Term2,
+ Term1 @< Term2,
+ Term1 @=< Term2,
+ Term1 @>= Term2,
+ Term1 @> Term2.
+
+ term_creation_and_decomposition :-
+ functor(Term, Functor, Arity),
+ arg(N, Term, Arg),
+ Term =.. [Functor| Args],
+ copy_term(Term, Copy).
+
+ arithemtic_evaluation :-
+ X is Expression.
+
+ arithemtic_comparison :-
+ Exp1 =:= Exp2,
+ Exp1 =\= Exp2,
+ Exp1 < Exp2,
+ Exp1 =< Exp2,
+ Exp1 > Exp2,
+ Exp1 >= Exp2.
+
+ stream_selection_and_control :-
+ current_input(Stream),
+ current_output(Stream),
+ set_input(Stream),
+ set_output(Stream),
+ open(Source, Mode, Stream, Options),
+ close(Stream),
+ flush_output(Stream),
+ stream_property(Stream, Property),
+ at_end_of_stream(Stream),
+ set_stream_position(Stream, Position),
+ flush_output,
+ at_end_of_stream.
+
+ character_input_output :-
+ get_char(Char),
+ get_code(Code),
+ peek_char(Char),
+ peek_code(Code),
+ put_char(Char),
+ put_code(Code),
+ nl(Stream),
+ nl.
+
+ byte_input_output :-
+ get_byte(Byte),
+ peek_byte(Byte),
+ put_byte(Byte).
+
+ term_input_output :-
+ read(Term),
+ read_term(Term),
+ write(Term),
+ write(Term),
+ write_canonical(Term),
+ write_term(Stream, Term, Options),
+ current_op(Precedence, Associativity, Operator),
+ op(Precedence, Associativity, Operator),
+ current_char_conversion(InChar, OutChar),
+ char_conversion(InChar, OutChar).
+
+ logic_and_control :-
+ \+ Goal,
+ once(Goal),
+ repeat,
+ !.
+
+ atomic_term_processing :-
+ atom_length(Atom, Length),
+ atom_chars(Atom, Chars),
+ atom_codes(Atom, Codes),
+ atom_concat(Atom1, Atom2, Atom),
+ sub_atom(Atom, Before, Length, After, SubAtom),
+ char_code(Char, Code),
+ number_chars(Number, Chars),
+ number_codes(Number, Codes).
+
+ implementation_defined_hooks :-
+ current_prolog_flag(Flag, Value),
+ set_prolog_flag(Flag, Value),
+ halt(ExitCode),
+ halt.
+
+ number(C) --> "+", number(C).
+ number(C) --> "-", number(X), {C is -X}.
+ number(X) --> [C], {0'0 =< C, C =< 0'9, X is C - 0'0}.
+
+:- end_object.
+
+
+
+:- object(class,
+ implements(protocol),
+ imports(category),
+ instantiates(metaclass),
+ specializes(superclass)).
+
+
+:- end_object.
+
+
+
+:- object(parametric(_Par1, _Par2),
+ implements(protocol),
+ imports(category),
+ extends(parent(_Par))).
+
+
+:- end_object.
+
+
+
+:- category(category,
+ implements(protocol),
+ extends(other_category)).
+
+
+:- end_category.
+
+
+
+:- protocol(extended,
+ extends(minimal)).
+
+
+:- end_protocol.
+
+---tokens---
+'% this is a single-line comment\n' Comment
+
+'\n' Text
+
+'/*\nthis is\na block\ncomment\n*/' Comment
+'\n' Text
+
+'\n\n:- ' Punctuation
+'encoding' Keyword
+'(' Text
+'some_encoding' Text
+')' Text
+'.' Text
+'\n' Text
+
+':- ' Punctuation
+'op' Keyword
+'(' Text
+'Precedence' Name.Variable
+',' Text
+' ' Text
+'Associativity' Name.Variable
+',' Text
+' ' Text
+'Operator' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n\n:- ' Punctuation
+'object' Keyword
+'(' Text
+'prototype' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'implements' Keyword
+'(' Text
+'protocol' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'imports' Keyword
+'(' Text
+'category' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'extends' Keyword
+'(' Text
+'parent' Text
+')' Text
+').' Text
+'\n' Text
+
+'\n\t:- ' Punctuation
+'info' Keyword
+'(' Text
+'[' Text
+'\n' Text
+
+'\t\t' Text
+'version' Text
+' ' Text
+'is' Keyword
+' ' Text
+'1.0' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'author' Text
+' ' Text
+'is' Keyword
+' ' Text
+"'" Literal.String
+'Paulo Moura' Literal.String
+"'" Literal.String
+',' Text
+'\n' Text
+
+'\t\t' Text
+'date' Text
+' ' Text
+'is' Keyword
+' ' Text
+'2008' Literal.Number
+'/' Operator
+'5' Literal.Number
+'/' Operator
+'1' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'comment' Text
+' ' Text
+'is' Keyword
+' ' Text
+"'" Literal.String
+'Sample prototype for testing syntax coloring.' Literal.String
+"'" Literal.String
+']' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'threaded' Keyword
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'synchronized' Keyword
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'dynamic' Keyword
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'initialization' Keyword
+'(' Text
+'some_goal' Text
+'(' Text
+'X' Name.Variable
+',' Text
+' ' Text
+'Y' Name.Variable
+')' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'calls' Keyword
+'(' Text
+'some_other_protocol' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'uses' Keyword
+'(' Text
+'another_object' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\n\t:- ' Punctuation
+'alias' Keyword
+'(' Text
+'set' Text
+',' Text
+' ' Text
+'member' Text
+'/' Operator
+'2' Literal.Number
+',' Text
+' ' Text
+'set_member' Text
+'/' Operator
+'2' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'alias' Keyword
+'(' Text
+'words' Text
+',' Text
+' ' Text
+'singular' Text
+'//' Operator
+'0' Literal.Number
+',' Text
+' ' Text
+'peculiar' Text
+'//' Operator
+'0' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\n\t:- ' Punctuation
+'uses' Keyword
+'(' Text
+'list' Text
+',' Text
+' ' Text
+'[' Text
+'append' Text
+'/' Operator
+'3' Literal.Number
+',' Text
+' ' Text
+'member' Text
+'/' Operator
+'2' Literal.Number
+']' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'uses' Keyword
+'(' Text
+'queues' Text
+',' Text
+' ' Text
+'[' Text
+'new' Text
+'/' Operator
+'1' Literal.Number
+'::' Operator
+'new_queue' Text
+'/' Operator
+'1' Literal.Number
+']' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\n\t:- ' Punctuation
+'public' Keyword
+'(' Text
+'aaa' Text
+'/' Operator
+'2' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'meta_predicate' Keyword
+'(' Text
+'aaa' Text
+'(' Text
+'::' Operator
+',' Text
+' ' Text
+'*' Operator
+')' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'discontiguous' Keyword
+'(' Text
+'aaa' Text
+'/' Operator
+'2' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'mode' Keyword
+'(' Text
+'aaa' Text
+'(' Text
+'+' Operator
+'callable' Text
+',' Text
+' ' Text
+'?' Operator
+'integer' Text
+')' Text
+',' Text
+' ' Text
+'zero_or_one' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'info' Keyword
+'(' Text
+'position' Text
+'/' Operator
+'2' Literal.Number
+',' Text
+' ' Text
+'[' Text
+'\n' Text
+
+'\t\t' Text
+'comment' Text
+' ' Text
+'is' Keyword
+' ' Text
+"'" Literal.String
+'Predicate brief description.' Literal.String
+"'" Literal.String
+',' Text
+'\n' Text
+
+'\t\t' Text
+'arguments' Text
+' ' Text
+'is' Keyword
+' ' Text
+'[' Text
+"'" Literal.String
+'Arg1' Literal.String
+"'" Literal.String
+'-' Operator
+"'" Literal.String
+'Arg1 description' Literal.String
+"'" Literal.String
+',' Text
+' ' Text
+"'" Literal.String
+'Arg2' Literal.String
+"'" Literal.String
+'-' Operator
+"'" Literal.String
+'Arg2 description' Literal.String
+"'" Literal.String
+']' Text
+']' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\n\t:- ' Punctuation
+'protected' Keyword
+'(' Text
+'bbb' Text
+'/' Operator
+'2' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'synchronized' Keyword
+'(' Text
+'bbb' Text
+'/' Operator
+'2' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'mode' Keyword
+'(' Text
+'bbb' Text
+'(' Text
+'+' Operator
+'integer' Text
+',' Text
+' ' Text
+'-' Operator
+'float' Text
+')' Text
+',' Text
+' ' Text
+'one' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'info' Keyword
+'(' Text
+'bbb' Text
+'/' Operator
+'2' Literal.Number
+',' Text
+' ' Text
+'[' Text
+'\n' Text
+
+'\t\t' Text
+'comment' Text
+' ' Text
+'is' Keyword
+' ' Text
+"'" Literal.String
+'Predicate brief description.' Literal.String
+"'" Literal.String
+',' Text
+'\n' Text
+
+'\t\t' Text
+'argnames' Text
+' ' Text
+'is' Keyword
+' ' Text
+'[' Text
+"'" Literal.String
+'Arg1' Literal.String
+"'" Literal.String
+',' Text
+' ' Text
+"'" Literal.String
+'Arg2' Literal.String
+"'" Literal.String
+']' Text
+']' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\n\t:- ' Punctuation
+'private' Keyword
+'(' Text
+'ccc' Text
+'/' Operator
+'2' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'dynamic' Keyword
+'(' Text
+'ccc' Text
+'/' Operator
+'2' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'mode' Keyword
+'(' Text
+'ccc' Text
+'(' Text
+'@' Operator
+'atom' Text
+',' Text
+' ' Text
+'?' Operator
+'atom' Text
+')' Text
+',' Text
+' ' Text
+'one_or_more' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\t:- ' Punctuation
+'info' Keyword
+'(' Text
+'ccc' Text
+'/' Operator
+'2' Literal.Number
+',' Text
+' ' Text
+'[' Text
+'\n' Text
+
+'\t\t' Text
+'comment' Text
+' ' Text
+'is' Keyword
+' ' Text
+"'" Literal.String
+'Predicate brief description.' Literal.String
+"'" Literal.String
+',' Text
+'\n' Text
+
+'\t\t' Text
+'argnames' Text
+' ' Text
+'is' Keyword
+' ' Text
+'[' Text
+"'" Literal.String
+'Arg1' Literal.String
+"'" Literal.String
+',' Text
+' ' Text
+"'" Literal.String
+'Arg2' Literal.String
+"'" Literal.String
+']' Text
+']' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'enumerating_entities' Text
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Protocol' Name.Variable
+',' Text
+' ' Text
+'Category' Name.Variable
+')' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'current_category' Keyword
+'(' Text
+'Category' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'current_object' Keyword
+'(' Text
+'Object' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'current_protocol' Keyword
+'(' Text
+'Protocol' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'enumerating_properties' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'category_property' Keyword
+'(' Text
+'Category' Name.Variable
+',' Text
+' ' Text
+'Property' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'object_property' Keyword
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Property' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'protocol_property' Keyword
+'(' Text
+'Protocol' Name.Variable
+',' Text
+' ' Text
+'Property' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'creating_entities' Text
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Protocol' Name.Variable
+',' Text
+' ' Text
+'Category' Name.Variable
+')' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'create_category' Keyword
+'(' Text
+'Category' Name.Variable
+',' Text
+' ' Text
+'Relations' Name.Variable
+',' Text
+' ' Text
+'Directives' Name.Variable
+',' Text
+' ' Text
+'Clauses' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'create_object' Keyword
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Relations' Name.Variable
+',' Text
+' ' Text
+'Directives' Name.Variable
+',' Text
+' ' Text
+'Clauses' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'create_protocol' Keyword
+'(' Text
+'Protocol' Name.Variable
+',' Text
+' ' Text
+'Relations' Name.Variable
+',' Text
+' ' Text
+'Directives' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'abolishing_entities' Text
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Protocol' Name.Variable
+',' Text
+' ' Text
+'Category' Name.Variable
+')' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'abolish_category' Keyword
+'(' Text
+'Category' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'abolish_object' Keyword
+'(' Text
+'Object' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'abolish_protocol' Keyword
+'(' Text
+'Protocol' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'entity_relations' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'extends_object' Keyword
+'(' Text
+'Prototype' Name.Variable
+',' Text
+' ' Text
+'Parent' Name.Variable
+',' Text
+' ' Text
+'Scope' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'extends_protocol' Keyword
+'(' Text
+'Protocol1' Name.Variable
+',' Text
+' ' Text
+'Protocol2' Name.Variable
+',' Text
+' ' Text
+'Scope' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'extends_category' Keyword
+'(' Text
+'Category1' Name.Variable
+',' Text
+' ' Text
+'Category2' Name.Variable
+',' Text
+' ' Text
+'Scope' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'implements_protocol' Keyword
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Protocol' Name.Variable
+',' Text
+' ' Text
+'Scope' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'imports_category' Keyword
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Category' Name.Variable
+',' Text
+' ' Text
+'Scope' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'instantiates_class' Keyword
+'(' Text
+'Instance' Name.Variable
+',' Text
+' ' Text
+'Class' Name.Variable
+',' Text
+' ' Text
+'Scope' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'specializes_class' Keyword
+'(' Text
+'Class' Name.Variable
+',' Text
+' ' Text
+'Superclass' Name.Variable
+',' Text
+' ' Text
+'Scope' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'complements_object' Keyword
+'(' Text
+'Category' Name.Variable
+',' Text
+' ' Text
+'Object' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'event_handling' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'abolish_events' Keyword
+'(' Text
+'Event' Name.Variable
+',' Text
+' ' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Message' Name.Variable
+',' Text
+' ' Text
+'Sender' Name.Variable
+',' Text
+' ' Text
+'Monitor' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'current_event' Keyword
+'(' Text
+'Event' Name.Variable
+',' Text
+' ' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Message' Name.Variable
+',' Text
+' ' Text
+'Sender' Name.Variable
+',' Text
+' ' Text
+'Monitor' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'define_events' Keyword
+'(' Text
+'Event' Name.Variable
+',' Text
+' ' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Message' Name.Variable
+',' Text
+' ' Text
+'Sender' Name.Variable
+',' Text
+' ' Text
+'Monitor' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'multi_threading' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'threaded' Keyword
+'(' Text
+'Goals' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'threaded_call' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'threaded_once' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'threaded_ignore' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'threaded_exit' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'threaded_peek' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'threaded_wait' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'threaded_notify' Keyword
+'(' Text
+'Notification' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'compiling_and_loading' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'logtalk_compile' Keyword
+'(' Text
+'File' Name.Variable
+',' Text
+' ' Text
+'Options' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'logtalk_load' Keyword
+'(' Text
+'File' Name.Variable
+',' Text
+' ' Text
+'Options' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'logtalk_library_path' Keyword
+'(' Text
+'Library' Name.Variable
+',' Text
+' ' Text
+'Path' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'flags' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'current_logtalk_flag' Keyword
+'(' Text
+'Flag' Name.Variable
+',' Text
+' ' Text
+'Value' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'set_logtalk_flag' Keyword
+'(' Text
+'Flag' Name.Variable
+',' Text
+' ' Text
+'Value' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'execution_context_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'parameter' Keyword
+'(' Text
+'N' Name.Variable
+',' Text
+' ' Text
+'Parameter' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'self' Keyword
+'(' Text
+'Self' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'sender' Keyword
+'(' Text
+'Sender' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'this' Keyword
+'(' Text
+'This' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'reflection_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'current_predicate' Keyword
+'(' Text
+'Predicate' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'predicate_property' Keyword
+'(' Text
+'Predicate' Name.Variable
+',' Text
+' ' Text
+'Property' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'database_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'abolish' Keyword
+'(' Text
+'Functor' Name.Variable
+'/' Operator
+'Arity' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'asserta' Keyword
+'(' Text
+'Clause' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'assertz' Keyword
+'(' Text
+'Clause' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'clause' Keyword
+'(' Text
+'Head' Name.Variable
+',' Text
+' ' Text
+'Body' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'retract' Keyword
+'(' Text
+'Clause' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'retractall' Keyword
+'(' Text
+'Head' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'meta_call_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'call' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'all_solutions_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'bagof' Keyword
+'(' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Goal' Name.Variable
+',' Text
+' ' Text
+'List' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'findall' Keyword
+'(' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Goal' Name.Variable
+',' Text
+' ' Text
+'List' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'forall' Keyword
+'(' Text
+'Generate' Name.Variable
+',' Text
+' ' Text
+'Test' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'setof' Keyword
+'(' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Goal' Name.Variable
+',' Text
+' ' Text
+'List' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'event_handler_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'before' Keyword
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Message' Name.Variable
+',' Text
+' ' Text
+'Sender' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'after' Keyword
+'(' Text
+'Object' Name.Variable
+',' Text
+' ' Text
+'Message' Name.Variable
+',' Text
+' ' Text
+'Sender' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'dcg_rules_parsing_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'phrase' Keyword
+'(' Text
+'NonTerminal' Name.Variable
+',' Text
+' ' Text
+'Input' Name.Variable
+',' Text
+' ' Text
+'Rest' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'term_expansion_methods' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'expand_term' Keyword
+'(' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Expanded' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'term_expansion' Keyword
+'(' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Expanded' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'goal_expansion' Keyword
+'(' Text
+'Goal' Name.Variable
+',' Text
+' ' Text
+'Expanded' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'message_sending' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'Object' Name.Variable
+'::' Operator
+'Message' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'::' Operator
+'Message' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'^^' Operator
+'Message' Name.Variable
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'calling_external_code' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'{' Keyword
+'goal1' Text
+',' Text
+' ' Text
+'goal2' Text
+',' Text
+' ' Text
+'goal3' Text
+'}' Keyword
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'context_switching_calls' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'Object' Name.Variable
+'<<' Operator
+'Goal' Name.Variable
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'direct_calls_of_category_predicates' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+':' Operator
+'Goal' Name.Variable
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'if_then_else' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'(' Text
+'\t' Text
+'If' Name.Variable
+' ' Text
+'-' Operator
+'>' Operator
+'\n' Text
+
+'\t\t\t' Text
+'Then' Name.Variable
+'\n' Text
+
+'\t\t' Text
+';' Operator
+'\t' Text
+'Else' Name.Variable
+'\n' Text
+
+'\t\t' Text
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'numbers' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'X' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'13' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Y' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'13.13' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Z' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'13.13e-23' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'C1' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+"0'A" Literal.Number
+',' Text
+' ' Text
+'C2' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+"0''" Literal.Number
+',' Text
+' ' Text
+'C3' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'0\'"' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'B' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'0b1011101' Literal.Number.Bin
+',' Text
+'\n' Text
+
+'\t\t' Text
+'O' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'0o1234560' Literal.Number.Oct
+',' Text
+'\n' Text
+
+'\t\t' Text
+'H' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'0x1234567890abcDEF' Literal.Number.Hex
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'functions' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'A' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'atan' Keyword
+'(' Text
+'3.14' Literal.Number
+')' Text
+' ' Text
+'+' Operator
+' ' Text
+'sin' Keyword
+'(' Text
+'0.77' Literal.Number
+')' Text
+' ' Text
+'-' Operator
+' ' Text
+'cos' Keyword
+'(' Text
+'123.23' Literal.Number
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'B' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'sign' Keyword
+'(' Text
+'-' Operator
+'12' Literal.Number
+')' Text
+' ' Text
+'*' Operator
+' ' Text
+'abs' Keyword
+'(' Text
+'35' Literal.Number
+'/' Operator
+'78' Literal.Number
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'C' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'truncate' Keyword
+'(' Text
+'3.14' Literal.Number
+')' Text
+' ' Text
+'+' Operator
+' ' Text
+'round' Keyword
+'(' Text
+'-' Operator
+'7.8' Literal.Number
+')' Text
+' ' Text
+'-' Operator
+' ' Text
+'ceiling' Keyword
+'(' Text
+'111.88' Literal.Number
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'D' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'exp' Keyword
+'(' Text
+'3.8' Literal.Number
+')' Text
+' ' Text
+'-' Operator
+' ' Text
+'log' Keyword
+'(' Text
+'123.98' Literal.Number
+')' Text
+' ' Text
+'/' Operator
+' ' Text
+'sqrt' Keyword
+'(' Text
+'33' Literal.Number
+')' Text
+' ' Text
+'*' Operator
+' ' Text
+'23' Literal.Number
+' ' Text
+'*' Operator
+'*' Operator
+' ' Text
+'4' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'E' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'rem' Keyword
+'(' Text
+'3' Literal.Number
+',' Text
+' ' Text
+'2' Literal.Number
+')' Text
+' ' Text
+'+' Operator
+' ' Text
+'mod' Keyword
+'(' Text
+'5' Literal.Number
+',' Text
+' ' Text
+'3' Literal.Number
+')' Text
+' ' Text
+'*' Operator
+' ' Text
+'2' Literal.Number
+' ' Text
+'rem' Operator
+' ' Text
+'2' Literal.Number
+' ' Text
+'//' Operator
+' ' Text
+'5' Literal.Number
+' ' Text
+'mod' Operator
+' ' Text
+'3' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'F' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'float_fractional_part' Keyword
+'(' Text
+'3.14' Literal.Number
+')' Text
+' ' Text
+'+' Operator
+' ' Text
+'float_integer_part' Keyword
+'(' Text
+'3.14' Literal.Number
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'G' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'float' Keyword
+'(' Text
+'33' Literal.Number
+')' Text
+' ' Text
+'+' Operator
+' ' Text
+'floor' Keyword
+'(' Text
+'99.99' Literal.Number
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'bitwise' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'A' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'16' Literal.Number
+' ' Text
+'>>' Operator
+' ' Text
+'2' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'B' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'16' Literal.Number
+' ' Text
+'<<' Operator
+' ' Text
+'2' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'C' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'10' Literal.Number
+' ' Text
+'/\\' Operator
+' ' Text
+'12' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'D' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'10' Literal.Number
+' ' Text
+'\\' Operator
+'/' Operator
+' ' Text
+'12' Literal.Number
+',' Text
+'\n' Text
+
+'\t\t' Text
+'E' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'\\' Operator
+' ' Text
+'10.' Literal.Number
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'term_unification' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'Term2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'\\' Operator
+'=' Operator
+' ' Text
+'Term2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'unify_with_occurs_check' Keyword
+'(' Text
+'Term1' Name.Variable
+',' Text
+' ' Text
+'Term2' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'term_testing' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'atom' Keyword
+'(' Text
+'Atom' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'atomic' Keyword
+'(' Text
+'Atomic' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'integer' Keyword
+'(' Text
+'Integer' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'float' Keyword
+'(' Text
+'Float' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'compound' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'nonvar' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'var' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'number' Keyword
+'(' Text
+'Number' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'term_comparison' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'Term2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'\\' Operator
+'=' Operator
+'=' Operator
+' ' Text
+'Term2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'@<' Operator
+' ' Text
+'Term2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'@=<' Operator
+' ' Text
+'Term2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'@>=' Operator
+' ' Text
+'Term2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Term1' Name.Variable
+' ' Text
+'@>' Operator
+' ' Text
+'Term2' Name.Variable
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'term_creation_and_decomposition' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'functor' Keyword
+'(' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Functor' Name.Variable
+',' Text
+' ' Text
+'Arity' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'arg' Keyword
+'(' Text
+'N' Name.Variable
+',' Text
+' ' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Arg' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Term' Name.Variable
+' ' Text
+'=..' Operator
+' ' Text
+'[' Text
+'Functor' Name.Variable
+'|' Text
+' ' Text
+'Args' Name.Variable
+']' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'copy_term' Keyword
+'(' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Copy' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'arithemtic_evaluation' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'X' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'Expression' Name.Variable
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'arithemtic_comparison' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'Exp1' Name.Variable
+' ' Text
+'=:=' Operator
+' ' Text
+'Exp2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Exp1' Name.Variable
+' ' Text
+'=\\=' Operator
+' ' Text
+'Exp2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Exp1' Name.Variable
+' ' Text
+'<' Operator
+' ' Text
+'Exp2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Exp1' Name.Variable
+' ' Text
+'=<' Operator
+' ' Text
+'Exp2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Exp1' Name.Variable
+' ' Text
+'>' Operator
+' ' Text
+'Exp2' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'Exp1' Name.Variable
+' ' Text
+'>=' Operator
+' ' Text
+'Exp2' Name.Variable
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'stream_selection_and_control' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'current_input' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'current_output' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'set_input' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'set_output' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'open' Keyword
+'(' Text
+'Source' Name.Variable
+',' Text
+' ' Text
+'Mode' Name.Variable
+',' Text
+' ' Text
+'Stream' Name.Variable
+',' Text
+' ' Text
+'Options' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'close' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'flush_output' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'stream_property' Keyword
+'(' Text
+'Stream' Name.Variable
+',' Text
+' ' Text
+'Property' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'at_end_of_stream' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'set_stream_position' Keyword
+'(' Text
+'Stream' Name.Variable
+',' Text
+' ' Text
+'Position' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'flush_output' Keyword
+',' Text
+'\n' Text
+
+'\t\t' Text
+'at_end_of_stream' Keyword
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'character_input_output' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'get_char' Keyword
+'(' Text
+'Char' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'get_code' Keyword
+'(' Text
+'Code' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'peek_char' Keyword
+'(' Text
+'Char' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'peek_code' Keyword
+'(' Text
+'Code' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'put_char' Keyword
+'(' Text
+'Char' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'put_code' Keyword
+'(' Text
+'Code' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'nl' Keyword
+'(' Text
+'Stream' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'nl' Keyword
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'byte_input_output' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'get_byte' Keyword
+'(' Text
+'Byte' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'peek_byte' Keyword
+'(' Text
+'Byte' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'put_byte' Keyword
+'(' Text
+'Byte' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'term_input_output' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'read' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'read_term' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'write' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'write' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'write_canonical' Keyword
+'(' Text
+'Term' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'write_term' Keyword
+'(' Text
+'Stream' Name.Variable
+',' Text
+' ' Text
+'Term' Name.Variable
+',' Text
+' ' Text
+'Options' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'current_op' Keyword
+'(' Text
+'Precedence' Name.Variable
+',' Text
+' ' Text
+'Associativity' Name.Variable
+',' Text
+' ' Text
+'Operator' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'op' Keyword
+'(' Text
+'Precedence' Name.Variable
+',' Text
+' ' Text
+'Associativity' Name.Variable
+',' Text
+' ' Text
+'Operator' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'current_char_conversion' Keyword
+'(' Text
+'InChar' Name.Variable
+',' Text
+' ' Text
+'OutChar' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'char_conversion' Keyword
+'(' Text
+'InChar' Name.Variable
+',' Text
+' ' Text
+'OutChar' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'logic_and_control' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'\\' Operator
+'+' Operator
+' ' Text
+'Goal' Name.Variable
+',' Text
+'\n' Text
+
+'\t\t' Text
+'once' Keyword
+'(' Text
+'Goal' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'repeat' Keyword
+',' Text
+'\n' Text
+
+'\t\t' Text
+'!' Operator
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'atomic_term_processing' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'atom_length' Keyword
+'(' Text
+'Atom' Name.Variable
+',' Text
+' ' Text
+'Length' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'atom_chars' Keyword
+'(' Text
+'Atom' Name.Variable
+',' Text
+' ' Text
+'Chars' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'atom_codes' Keyword
+'(' Text
+'Atom' Name.Variable
+',' Text
+' ' Text
+'Codes' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'atom_concat' Keyword
+'(' Text
+'Atom1' Name.Variable
+',' Text
+' ' Text
+'Atom2' Name.Variable
+',' Text
+' ' Text
+'Atom' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'sub_atom' Keyword
+'(' Text
+'Atom' Name.Variable
+',' Text
+' ' Text
+'Before' Name.Variable
+',' Text
+' ' Text
+'Length' Name.Variable
+',' Text
+' ' Text
+'After' Name.Variable
+',' Text
+' ' Text
+'SubAtom' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'char_code' Keyword
+'(' Text
+'Char' Name.Variable
+',' Text
+' ' Text
+'Code' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'number_chars' Keyword
+'(' Text
+'Number' Name.Variable
+',' Text
+' ' Text
+'Chars' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'number_codes' Keyword
+'(' Text
+'Number' Name.Variable
+',' Text
+' ' Text
+'Codes' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'implementation_defined_hooks' Text
+' ' Text
+':' Operator
+'-' Operator
+'\n' Text
+
+'\t\t' Text
+'current_prolog_flag' Keyword
+'(' Text
+'Flag' Name.Variable
+',' Text
+' ' Text
+'Value' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'set_prolog_flag' Keyword
+'(' Text
+'Flag' Name.Variable
+',' Text
+' ' Text
+'Value' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'halt' Keyword
+'(' Text
+'ExitCode' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t\t' Text
+'halt' Keyword
+'.' Text
+'\n' Text
+
+'\n' Text
+
+'\t' Text
+'number' Keyword
+'(' Text
+'C' Name.Variable
+')' Text
+' ' Text
+'-' Operator
+'-' Operator
+'>' Operator
+' ' Text
+'"+"' Literal.String
+',' Text
+' ' Text
+'number' Keyword
+'(' Text
+'C' Name.Variable
+')' Text
+'.' Text
+'\n' Text
+
+'\t' Text
+'number' Keyword
+'(' Text
+'C' Name.Variable
+')' Text
+' ' Text
+'-' Operator
+'-' Operator
+'>' Operator
+' ' Text
+'"-"' Literal.String
+',' Text
+' ' Text
+'number' Keyword
+'(' Text
+'X' Name.Variable
+')' Text
+',' Text
+' ' Text
+'{' Keyword
+'C' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'-' Operator
+'X' Name.Variable
+'}' Keyword
+'.' Text
+'\n' Text
+
+'\t' Text
+'number' Keyword
+'(' Text
+'X' Name.Variable
+')' Text
+' ' Text
+'-' Operator
+'-' Operator
+'>' Operator
+' ' Text
+'[' Text
+'C' Name.Variable
+']' Text
+',' Text
+' ' Text
+'{' Keyword
+"0'0" Literal.Number
+' ' Text
+'=<' Operator
+' ' Text
+'C' Name.Variable
+',' Text
+' ' Text
+'C' Name.Variable
+' ' Text
+'=<' Operator
+' ' Text
+"0'9" Literal.Number
+',' Text
+' ' Text
+'X' Name.Variable
+' ' Text
+'is' Keyword
+' ' Text
+'C' Name.Variable
+' ' Text
+'-' Operator
+' ' Text
+"0'0" Literal.Number
+'}' Keyword
+'.' Text
+'\n' Text
+
+'\n:- ' Punctuation
+'end_object' Keyword
+'.' Text
+'\n' Text
+
+'\n\n\n:- ' Punctuation
+'object' Keyword
+'(' Text
+'class' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'implements' Keyword
+'(' Text
+'protocol' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'imports' Keyword
+'(' Text
+'category' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'instantiates' Keyword
+'(' Text
+'metaclass' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'specializes' Keyword
+'(' Text
+'superclass' Text
+')' Text
+').' Text
+'\n' Text
+
+'\n\n:- ' Punctuation
+'end_object' Keyword
+'.' Text
+'\n' Text
+
+'\n\n\n:- ' Punctuation
+'object' Keyword
+'(' Text
+'parametric' Text
+'(' Text
+'_Par1' Name.Variable
+',' Text
+' ' Text
+'_Par2' Name.Variable
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'implements' Keyword
+'(' Text
+'protocol' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'imports' Keyword
+'(' Text
+'category' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'extends' Keyword
+'(' Text
+'parent' Text
+'(' Text
+'_Par' Name.Variable
+')' Text
+')' Text
+').' Text
+'\n' Text
+
+'\n\n:- ' Punctuation
+'end_object' Keyword
+'.' Text
+'\n' Text
+
+'\n\n\n:- ' Punctuation
+'category' Keyword
+'(' Text
+'category' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'implements' Keyword
+'(' Text
+'protocol' Text
+')' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'extends' Keyword
+'(' Text
+'other_category' Text
+')' Text
+').' Text
+'\n' Text
+
+'\n\n:- ' Punctuation
+'end_category' Keyword
+'.' Text
+'\n' Text
+
+'\n\n\n:- ' Punctuation
+'protocol' Keyword
+'(' Text
+'extended' Text
+',' Text
+'\n' Text
+
+'\t' Text
+'extends' Keyword
+'(' Text
+'minimal' Text
+')' Text
+').' Text
+'\n' Text
+
+'\n\n:- ' Punctuation
+'end_protocol' Keyword
+'.' Text
+'\n' Text