Logtalk 2.12.0.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@496 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
47a5475024
commit
f1eddd7966
|
@ -0,0 +1,56 @@
|
||||||
|
=================================================================
|
||||||
|
Logtalk - Object oriented extension to Prolog
|
||||||
|
Release 2.12.0
|
||||||
|
|
||||||
|
Copyright (c) 1998-2002 Paulo Moura. All Rights Reserved.
|
||||||
|
=================================================================
|
||||||
|
|
||||||
|
|
||||||
|
This directory contains some files that provide syntax highlighting
|
||||||
|
for editing Logtalk source files with common text editors.
|
||||||
|
|
||||||
|
|
||||||
|
logtalk.xml
|
||||||
|
|
||||||
|
edit mode file for jEdit 4.0 (http://www.jedit.org/)
|
||||||
|
|
||||||
|
If this file is not included with your version of jEdit or if the
|
||||||
|
included file is older than the one provided here, copy this file
|
||||||
|
to the "modes" subdirectory in jEdit directory installation. Next,
|
||||||
|
check the "catalog" file in the same subdirectory and add (if not
|
||||||
|
present) the following entry:
|
||||||
|
|
||||||
|
<MODE NAME="logtalk" FILE="logtalk.xml" FILE_NAME_GLOB="*.lgt" />
|
||||||
|
|
||||||
|
|
||||||
|
logtalk.vim
|
||||||
|
|
||||||
|
syntax file for VIM 6.1 (http://www.vim.org)
|
||||||
|
|
||||||
|
If this file is not included with your version of VIM or if the
|
||||||
|
included file is older than the one provided here, copy this file
|
||||||
|
to the "syntax" sub-directory in your VIM installation directory
|
||||||
|
and add the following entry to the "filetype.vim" configuration
|
||||||
|
file (if not present):
|
||||||
|
|
||||||
|
" Logtalk
|
||||||
|
au BufNewFile,BufRead *.lgt setf logtalk
|
||||||
|
|
||||||
|
|
||||||
|
logtalk.syn
|
||||||
|
|
||||||
|
syntax file for TextPad 4.5 (http://www.textpad.com)
|
||||||
|
|
||||||
|
To install, copy this file to the SAMPLES subdirectory in the TextPad
|
||||||
|
application directory and define a new document class for Logtalk source
|
||||||
|
files. THIS SYNTAX FILE IS UNDER DEVELOPMENT.
|
||||||
|
|
||||||
|
|
||||||
|
logtalk.pats
|
||||||
|
|
||||||
|
syntax highlighting patterns file for NEdit 5.2 (http://www.nedit.org)
|
||||||
|
|
||||||
|
To install, follow the instructions included in the file itself or take
|
||||||
|
a look at:
|
||||||
|
|
||||||
|
http://www.nedit.org/download/patterns.shtml
|
|
@ -0,0 +1 @@
|
||||||
|
! Syntax highlighting patterns file for Logtalk (http://www.logtalk.org)
!
! Author: Paulo Moura (pmoura at logtalk.org)
!
! Last changed in: May, 21
!
!
! To install this patterns file:
!
! 1. Load this file by starting nedit from the command line:
!
! % nedit -import logtalk.pats
!
! 2. Go to the Preferences menu and verify that the patterns were loaded
! correctly.
!
! 3. If everything is correct, choose the option Save Defaults from the
! Preferences menu.
!
!
nedit.fileVersion: 5.2
nedit.highlightPatterns: Logtalk:1:0{\n\
Entity directives:":\\-\\sobject|:\\-\\sprotocol|:\\-\\scategory|:\\-\\send_object|:\\-\\send_protocol|:\\-\\send_category":::Keyword::\n\
Entity relations:"<(instantiates|specializes|extends|imports|implements)>":::Keyword::\n\
Directives:":\\-\\sinitialization|:\\-\\sinfo|:\\-\\smode|:\\-\\sdynamic|:\\-\\sdiscontiguous|:\\-\\spublic|:\\-\\sprotected|:\\-\\sprivate|:\\-\\smetapredicate|:\\-\\sop|:\\-\\scalls|:\\-\\suses":::Keyword::\n\
Clause operators:":\\-|\\.":::Keyword::\n\
Term testing:"<[^+?@-](var|atom|integer|float|atomic|compound|nonvar|number)>":::Subroutine1::\n\
Message sending operators:"::|\\^\\^":::Keyword::\n\
Control constructs:"!|,|;|\\-\\>|<(true|fail|call|catch|throw)>":::Subroutine::\n\
Block comment:"/\\*":"\\*/"::Comment::\n\
Line comment:"%":"$"::Comment::\n\
String:"'":"'"::String::\n\
Built-in methods:"<(parameter|self|sender|this|current_predicate|predicate_property|abolish|asserta|assertz|retractall|retract|bagof|findall|forall|setof|before|after)>":::Subroutine::\n\
Arithmetic operators:"<is>|\\+|\\*|\\-|/|=:=|=\\\\=|=\\<|\\>=|\\<|\\>":::Subroutine1::\n\
Built-in predicates:"<(current_object|current_protocol|current_category|create_object|create_protocol|create_category|object_property|protocol_property|category_property|abolish_object|abolish_protocol|abolish_vategory|extends_object|extends_protocol|omplements_protocol|instantiates_object|specializes_object|imports_category|abolish_events|current_events|define_events|current_logtalk_flag|set_logtalk_flag|logtalk_compile|logtalk_load|forall|logtalk_version|retractall)>":::Subroutine1::\n\
Term unification:"=|<unify_with_occurs_check>|\\\\=":::Subroutine1::\n\
Term comparison:"@=\\<|==|\\\\==|@\\>=|@\\<|@\\>":::Subroutine1::\n\
Term creation and decomposition:"<(functor|arg|copy_term)>|=\\.\\.":::Subroutine1::\n\
Mode operators:"\\?|@":::Subroutine1::\n\
Stream selection and control:"<(current_input|current_output|set_input|set_output|open|close|flush_output|stream_property|at_end_of_stream|set_stream_position)>":::Subroutine1::\n\
Character input-output:"<(get_char|get_code|peek_char|peek_code|put_char|put_code|nl)>":::Subroutine1::\n\
Byte input-output:"<(get_byte|peek_byte|put_byte)>":::Subroutine1::\n\
Term input-output:"<(read_term|read|write_canonical|write_term|writeq|write|current_op|op|current_char_conversion|char_conversion)>":::Subroutine1::\n\
Logic and control:"\\\\\\+|<(once|repeat)>":::Subroutine::\n\
Atomic term processing:"<(atom_length|atom_concat|sub_atom|atom_chars|atom_codes|char_code|number_chars|number_codes)>":::Subroutine1::\n\
Implementation defined hooks:"<(set_prolog_flag|current_prolog_flag)>":::Subroutine1::\n\
Evaluable functors:"\\+|-|\\*|//|/|<(rem|mod|abs|sign|float_integer_part|float_fractional_part|float|floor|truncate|round|ceiling)>":::Subroutine1::\n\
Other arithemtic functors:"\\*\\*|<(sin|cos|atan|exp|log|sqrt)>":::Subroutine1::\n\
Bitwise functors:">>|<<|/\\\\|\\\\/|\\\\":::Subroutine1::\n\
}
nedit.languageModes: Logtalk:.lgt::::4:4:\n\
|
|
@ -0,0 +1,310 @@
|
||||||
|
; TextPad syntax definitions for Logtalk (http://www.logtalk.org/)
|
||||||
|
;
|
||||||
|
; Author: Paulo Moura
|
||||||
|
; Last changed in: May 21, 2002
|
||||||
|
;
|
||||||
|
; Tags used and sugested colors:
|
||||||
|
; Keywords 1 message sending operators blue
|
||||||
|
; Keywords 2 entity enclosing directives purple
|
||||||
|
; Keywords 3 entity directives purple
|
||||||
|
; Keywords 4 built-in predicates
|
||||||
|
; Keywords 5 built-in methods
|
||||||
|
|
||||||
|
|
||||||
|
C=1
|
||||||
|
|
||||||
|
[Syntax]
|
||||||
|
Namespace1 = 6
|
||||||
|
IgnoreCase = NO
|
||||||
|
InitKeyWordChars =
|
||||||
|
KeyWordChars = a-zA-Z0-9_:^;*+,-./;<=>?@[\]^{|}
|
||||||
|
KeyWordLength =
|
||||||
|
BracketChars =
|
||||||
|
OperatorChars = <=>?@[\]|
|
||||||
|
PreprocStart =
|
||||||
|
SyntaxStart =
|
||||||
|
SyntaxEnd =
|
||||||
|
HexPrefix = 0x
|
||||||
|
CommentStart = /*
|
||||||
|
CommentEnd = */
|
||||||
|
CommentStartAlt =
|
||||||
|
CommentEndAlt =
|
||||||
|
SingleComment = %
|
||||||
|
SingleCommentCol =
|
||||||
|
SingleCommentAlt =
|
||||||
|
SingleCommentColAlt =
|
||||||
|
SingleCommentEsc =
|
||||||
|
StringsSpanLines = Yes
|
||||||
|
StringStart = '
|
||||||
|
StringEnd = '
|
||||||
|
StringAlt = "
|
||||||
|
StringEsc = '
|
||||||
|
CharStart =
|
||||||
|
CharEnd =
|
||||||
|
CharEsc =
|
||||||
|
|
||||||
|
|
||||||
|
[Keywords 1]
|
||||||
|
|
||||||
|
; Logtalk message sending operators
|
||||||
|
|
||||||
|
^^
|
||||||
|
:-
|
||||||
|
.
|
||||||
|
,
|
||||||
|
;
|
||||||
|
::
|
||||||
|
|
||||||
|
|
||||||
|
; Logtalk external call
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[Keywords 2]
|
||||||
|
|
||||||
|
; Logtalk opening entity directives
|
||||||
|
object
|
||||||
|
protocol
|
||||||
|
category
|
||||||
|
|
||||||
|
|
||||||
|
; Logtalk closing entity directives
|
||||||
|
end_object
|
||||||
|
end_protocol
|
||||||
|
end_category
|
||||||
|
|
||||||
|
; Logtalk entity relations
|
||||||
|
instantiates
|
||||||
|
specializes
|
||||||
|
extends
|
||||||
|
imports
|
||||||
|
implements
|
||||||
|
|
||||||
|
|
||||||
|
[Keywords 3]
|
||||||
|
|
||||||
|
; Logtalk directives
|
||||||
|
initialization
|
||||||
|
info
|
||||||
|
mode
|
||||||
|
dynamic
|
||||||
|
discontiguous
|
||||||
|
public
|
||||||
|
protected
|
||||||
|
private
|
||||||
|
metapredicate
|
||||||
|
op
|
||||||
|
calls
|
||||||
|
uses
|
||||||
|
|
||||||
|
|
||||||
|
[Keywords 4]
|
||||||
|
|
||||||
|
; Logtalk built-in predicates
|
||||||
|
current_object
|
||||||
|
current_protocol
|
||||||
|
current_category
|
||||||
|
create_object
|
||||||
|
create_protocol
|
||||||
|
create_category
|
||||||
|
object_property
|
||||||
|
protocol_property
|
||||||
|
category_property
|
||||||
|
abolish_object
|
||||||
|
abolish_protocol
|
||||||
|
abolish_category
|
||||||
|
extends_object
|
||||||
|
extends_protocol
|
||||||
|
implements_protocol
|
||||||
|
instantiates_object
|
||||||
|
specializes_object
|
||||||
|
imports_category
|
||||||
|
abolish_events
|
||||||
|
current_event
|
||||||
|
define_events
|
||||||
|
current_logtalk_flag
|
||||||
|
set_logtalk_flag
|
||||||
|
logtalk_compile
|
||||||
|
logtalk_load
|
||||||
|
forall
|
||||||
|
logtalk_version
|
||||||
|
retractall
|
||||||
|
|
||||||
|
|
||||||
|
[Keywords 5]
|
||||||
|
|
||||||
|
; Logtalk built-in methods
|
||||||
|
parameter
|
||||||
|
self
|
||||||
|
sender
|
||||||
|
this
|
||||||
|
current_predicate
|
||||||
|
predicate_property
|
||||||
|
abolish
|
||||||
|
asserta
|
||||||
|
assertz
|
||||||
|
clause
|
||||||
|
retract
|
||||||
|
retractall
|
||||||
|
bagof
|
||||||
|
findall
|
||||||
|
forall
|
||||||
|
setof
|
||||||
|
before
|
||||||
|
after
|
||||||
|
|
||||||
|
; Mode operators
|
||||||
|
?
|
||||||
|
@
|
||||||
|
|
||||||
|
; Control constructs
|
||||||
|
true
|
||||||
|
fail
|
||||||
|
call
|
||||||
|
!
|
||||||
|
,
|
||||||
|
;
|
||||||
|
->
|
||||||
|
catch
|
||||||
|
throw
|
||||||
|
|
||||||
|
; Term unification
|
||||||
|
=
|
||||||
|
unify_with_occurs_check
|
||||||
|
\=
|
||||||
|
|
||||||
|
; Term testing
|
||||||
|
var
|
||||||
|
atom
|
||||||
|
integer
|
||||||
|
float
|
||||||
|
atomic
|
||||||
|
compound
|
||||||
|
nonvar
|
||||||
|
number
|
||||||
|
|
||||||
|
; Term comparison
|
||||||
|
@=<
|
||||||
|
==
|
||||||
|
\==
|
||||||
|
@<
|
||||||
|
@>
|
||||||
|
@>=
|
||||||
|
|
||||||
|
; Term creation and decomposition
|
||||||
|
functor
|
||||||
|
arg
|
||||||
|
=..
|
||||||
|
copy_term
|
||||||
|
|
||||||
|
; Arithemtic evaluation
|
||||||
|
is
|
||||||
|
|
||||||
|
; Arithemtic comparison
|
||||||
|
=:=
|
||||||
|
=\=
|
||||||
|
<
|
||||||
|
=<
|
||||||
|
>
|
||||||
|
>=
|
||||||
|
|
||||||
|
; Stream selection and control
|
||||||
|
current_input
|
||||||
|
current_output
|
||||||
|
set_input
|
||||||
|
set_output
|
||||||
|
open
|
||||||
|
close
|
||||||
|
flush_output
|
||||||
|
stream_property
|
||||||
|
at_end_of_stream
|
||||||
|
set_stream_position
|
||||||
|
|
||||||
|
; Character input/output
|
||||||
|
get_char
|
||||||
|
get_code
|
||||||
|
peek_char
|
||||||
|
peek_code
|
||||||
|
put_char
|
||||||
|
put_code
|
||||||
|
nl
|
||||||
|
|
||||||
|
; Byte input/output
|
||||||
|
get_byte
|
||||||
|
peek_byte
|
||||||
|
put_byte
|
||||||
|
|
||||||
|
; Term input/output
|
||||||
|
read_term
|
||||||
|
read
|
||||||
|
write_term
|
||||||
|
write
|
||||||
|
writeq
|
||||||
|
write_canonical
|
||||||
|
op
|
||||||
|
current_op
|
||||||
|
char_conversion
|
||||||
|
current_char_conversion
|
||||||
|
|
||||||
|
; Logic and control
|
||||||
|
\+
|
||||||
|
once
|
||||||
|
repeat
|
||||||
|
|
||||||
|
; Atomic term processing
|
||||||
|
atom_length
|
||||||
|
atom_concat
|
||||||
|
sub_atom
|
||||||
|
atom_chars
|
||||||
|
atom_codes
|
||||||
|
char_code
|
||||||
|
number_chars
|
||||||
|
number_codes
|
||||||
|
|
||||||
|
; Implementation defined hooks functions
|
||||||
|
set_prolog_flag
|
||||||
|
current_prolog_flag
|
||||||
|
halt
|
||||||
|
|
||||||
|
; Evaluable functors
|
||||||
|
+
|
||||||
|
-
|
||||||
|
*
|
||||||
|
//
|
||||||
|
/
|
||||||
|
rem
|
||||||
|
mod
|
||||||
|
abs
|
||||||
|
sign
|
||||||
|
float_integer_part
|
||||||
|
float_fractional_part
|
||||||
|
float
|
||||||
|
floor
|
||||||
|
truncate
|
||||||
|
round
|
||||||
|
ceiling
|
||||||
|
|
||||||
|
; Other arithemtic functors
|
||||||
|
**
|
||||||
|
sin
|
||||||
|
cos
|
||||||
|
atan
|
||||||
|
exp
|
||||||
|
log
|
||||||
|
sqrt
|
||||||
|
|
||||||
|
; Bitwise functors
|
||||||
|
>>
|
||||||
|
<<
|
||||||
|
/\
|
||||||
|
\/
|
||||||
|
\
|
||||||
|
|
||||||
|
; Logtalk end-of-clause
|
||||||
|
.
|
||||||
|
|
||||||
|
; Logtalk list operator
|
||||||
|
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,400 @@
|
||||||
|
" Vim syntax file
|
||||||
|
"
|
||||||
|
" Language: Logtalk
|
||||||
|
" Maintainer: Paulo Moura <pmoura@noe.ubi.pt>
|
||||||
|
" Last Change: 2002 May 18
|
||||||
|
|
||||||
|
|
||||||
|
" Quit when a syntax file was already loaded:
|
||||||
|
|
||||||
|
if version < 600
|
||||||
|
syntax clear
|
||||||
|
elseif exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk is case sensitive:
|
||||||
|
|
||||||
|
syn case match
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk clause functor
|
||||||
|
|
||||||
|
syn match logtalkOperator ":-"
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk quoted atoms and strings
|
||||||
|
|
||||||
|
syn region logtalkString start=+"+ skip=+\\"+ end=+"+
|
||||||
|
syn region logtalkAtom start=+'+ skip=+\\'+ end=+'+
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk message sending operators
|
||||||
|
|
||||||
|
syn match logtalkOperator "::"
|
||||||
|
syn match logtalkOperator "\^\^"
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk external call
|
||||||
|
|
||||||
|
syn region logtalkExtCall matchgroup=logtalkExtCallTag start="{" matchgroup=logtalkExtCallTag end="}" contains=ALL
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk opening entity directives
|
||||||
|
|
||||||
|
syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- protocol(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- category(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=ALL
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk closing entity directives
|
||||||
|
|
||||||
|
syn match logtalkCloseEntityDir ":- end_object\."
|
||||||
|
syn match logtalkCloseEntityDir ":- end_protocol\."
|
||||||
|
syn match logtalkCloseEntityDir ":- end_category\."
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk entity relations
|
||||||
|
|
||||||
|
syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="instantiates(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
|
||||||
|
syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="specializes(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
|
||||||
|
syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="extends(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
|
||||||
|
syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="imports(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
|
||||||
|
syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="implements(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity contained
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk directives
|
||||||
|
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- initialization(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- info(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- mode(" matchgroup=logtalkDirTag end=")\." contains=logtalkOperator,logtalkAtom
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- dynamic(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn match logtalkDirTag ":- dynamic\."
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- discontiguous(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- public(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- protected(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- private(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- metapredicate(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- op(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- calls(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
syn region logtalkDir matchgroup=logtalkDirTag start=":- uses(" matchgroup=logtalkDirTag end=")\." contains=ALL
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk built-in predicates
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn current_object
|
||||||
|
syn keyword logtalkBuiltIn current_protocol
|
||||||
|
syn keyword logtalkBuiltIn current_category
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn create_object
|
||||||
|
syn keyword logtalkBuiltIn create_protocol
|
||||||
|
syn keyword logtalkBuiltIn create_category
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn object_property
|
||||||
|
syn keyword logtalkBuiltIn protocol_property
|
||||||
|
syn keyword logtalkBuiltIn category_property
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn abolish_object
|
||||||
|
syn keyword logtalkBuiltIn abolish_protocol
|
||||||
|
syn keyword logtalkBuiltIn abolish_category
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn extends_object
|
||||||
|
syn keyword logtalkBuiltIn extends_protocol
|
||||||
|
syn keyword logtalkBuiltIn implements_protocol
|
||||||
|
syn keyword logtalkBuiltIn instantiates_object
|
||||||
|
syn keyword logtalkBuiltIn specializes_object
|
||||||
|
syn keyword logtalkBuiltIn imports_category
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn abolish_events
|
||||||
|
syn keyword logtalkBuiltIn current_event
|
||||||
|
syn keyword logtalkBuiltIn define_events
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn current_logtalk_flag
|
||||||
|
syn keyword logtalkBuiltIn set_logtalk_flag
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn logtalk_compile
|
||||||
|
syn keyword logtalkBuiltIn logtalk_load
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltIn forall
|
||||||
|
syn keyword logtalkBuiltIn logtalk_version
|
||||||
|
syn keyword logtalkBuiltIn retractall
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk built-in methods
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltInMethod parameter
|
||||||
|
syn keyword logtalkBuiltInMethod self
|
||||||
|
syn keyword logtalkBuiltInMethod sender
|
||||||
|
syn keyword logtalkBuiltInMethod this
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltInMethod current_predicate
|
||||||
|
syn keyword logtalkBuiltInMethod predicate_property
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltInMethod abolish
|
||||||
|
syn keyword logtalkBuiltInMethod asserta
|
||||||
|
syn keyword logtalkBuiltInMethod assertz
|
||||||
|
syn keyword logtalkBuiltInMethod clause
|
||||||
|
syn keyword logtalkBuiltInMethod retract
|
||||||
|
syn keyword logtalkBuiltInMethod retractall
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltInMethod bagof
|
||||||
|
syn keyword logtalkBuiltInMethod findall
|
||||||
|
syn keyword logtalkBuiltInMethod forall
|
||||||
|
syn keyword logtalkBuiltInMethod setof
|
||||||
|
|
||||||
|
syn keyword logtalkBuiltInMethod before
|
||||||
|
syn keyword logtalkBuiltInMethod after
|
||||||
|
|
||||||
|
|
||||||
|
" Mode operators
|
||||||
|
|
||||||
|
syn match logtalkOperator "?"
|
||||||
|
syn match logtalkOperator "@"
|
||||||
|
|
||||||
|
|
||||||
|
" Control constructs
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword true
|
||||||
|
syn keyword logtalkKeyword fail
|
||||||
|
syn keyword logtalkKeyword call
|
||||||
|
syn match logtalkOperator "!"
|
||||||
|
syn match logtalkOperator ","
|
||||||
|
syn match logtalkOperator ";"
|
||||||
|
syn match logtalkOperator "->"
|
||||||
|
syn keyword logtalkKeyword catch
|
||||||
|
syn keyword logtalkKeyword throw
|
||||||
|
|
||||||
|
|
||||||
|
" Term unification
|
||||||
|
|
||||||
|
syn match logtalkOperator "="
|
||||||
|
syn keyword logtalkKeyword unify_with_occurs_check
|
||||||
|
syn match logtalkOperator "\\="
|
||||||
|
|
||||||
|
|
||||||
|
" Term testing
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword var
|
||||||
|
syn keyword logtalkKeyword atom
|
||||||
|
syn keyword logtalkKeyword integer
|
||||||
|
syn keyword logtalkKeyword float
|
||||||
|
syn keyword logtalkKeyword atomic
|
||||||
|
syn keyword logtalkKeyword compound
|
||||||
|
syn keyword logtalkKeyword nonvar
|
||||||
|
syn keyword logtalkKeyword number
|
||||||
|
|
||||||
|
|
||||||
|
" Term comparison
|
||||||
|
|
||||||
|
syn match logtalkOperator "@=<"
|
||||||
|
syn match logtalkOperator "=="
|
||||||
|
syn match logtalkOperator "\\=="
|
||||||
|
syn match logtalkOperator "@<"
|
||||||
|
syn match logtalkOperator "@>"
|
||||||
|
syn match logtalkOperator "@>="
|
||||||
|
|
||||||
|
|
||||||
|
" Term creation and decomposition
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword functor
|
||||||
|
syn keyword logtalkKeyword arg
|
||||||
|
syn match logtalkOperator "=\.\."
|
||||||
|
syn keyword logtalkKeyword copy_term
|
||||||
|
|
||||||
|
|
||||||
|
" Arithemtic evaluation
|
||||||
|
|
||||||
|
syn keyword logtalkOperator is
|
||||||
|
|
||||||
|
|
||||||
|
" Arithemtic comparison
|
||||||
|
|
||||||
|
syn match logtalkOperator "=:="
|
||||||
|
syn match logtalkOperator "=\\="
|
||||||
|
syn match logtalkOperator "<"
|
||||||
|
syn match logtalkOperator "=<"
|
||||||
|
syn match logtalkOperator ">"
|
||||||
|
syn match logtalkOperator ">="
|
||||||
|
|
||||||
|
|
||||||
|
" Stream selection and control
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword current_input
|
||||||
|
syn keyword logtalkKeyword current_output
|
||||||
|
syn keyword logtalkKeyword set_input
|
||||||
|
syn keyword logtalkKeyword set_output
|
||||||
|
syn keyword logtalkKeyword open
|
||||||
|
syn keyword logtalkKeyword close
|
||||||
|
syn keyword logtalkKeyword flush_output
|
||||||
|
syn keyword logtalkKeyword stream_property
|
||||||
|
syn keyword logtalkKeyword at_end_of_stream
|
||||||
|
syn keyword logtalkKeyword set_stream_position
|
||||||
|
|
||||||
|
|
||||||
|
" Character input/output
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword get_char
|
||||||
|
syn keyword logtalkKeyword get_code
|
||||||
|
syn keyword logtalkKeyword peek_char
|
||||||
|
syn keyword logtalkKeyword peek_code
|
||||||
|
syn keyword logtalkKeyword put_char
|
||||||
|
syn keyword logtalkKeyword put_code
|
||||||
|
syn keyword logtalkKeyword nl
|
||||||
|
|
||||||
|
|
||||||
|
" Byte input/output
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword get_byte
|
||||||
|
syn keyword logtalkKeyword peek_byte
|
||||||
|
syn keyword logtalkKeyword put_byte
|
||||||
|
|
||||||
|
|
||||||
|
" Term input/output
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword read_term
|
||||||
|
syn keyword logtalkKeyword read
|
||||||
|
syn keyword logtalkKeyword write_term
|
||||||
|
syn keyword logtalkKeyword write
|
||||||
|
syn keyword logtalkKeyword writeq
|
||||||
|
syn keyword logtalkKeyword write_canonical
|
||||||
|
syn keyword logtalkKeyword op
|
||||||
|
syn keyword logtalkKeyword current_op
|
||||||
|
syn keyword logtalkKeyword char_conversion
|
||||||
|
syn keyword logtalkKeyword current_char_conversion
|
||||||
|
|
||||||
|
|
||||||
|
" Logic and control
|
||||||
|
|
||||||
|
syn match logtalkOperator "\\+"
|
||||||
|
syn keyword logtalkKeyword once
|
||||||
|
syn keyword logtalkKeyword repeat
|
||||||
|
|
||||||
|
|
||||||
|
" Atomic term processing
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword atom_length
|
||||||
|
syn keyword logtalkKeyword atom_concat
|
||||||
|
syn keyword logtalkKeyword sub_atom
|
||||||
|
syn keyword logtalkKeyword atom_chars
|
||||||
|
syn keyword logtalkKeyword atom_codes
|
||||||
|
syn keyword logtalkKeyword char_code
|
||||||
|
syn keyword logtalkKeyword number_chars
|
||||||
|
syn keyword logtalkKeyword number_codes
|
||||||
|
|
||||||
|
|
||||||
|
" Implementation defined hooks functions
|
||||||
|
|
||||||
|
syn keyword logtalkKeyword set_prolog_flag
|
||||||
|
syn keyword logtalkKeyword current_prolog_flag
|
||||||
|
syn keyword logtalkKeyword halt
|
||||||
|
|
||||||
|
|
||||||
|
" Evaluable functors
|
||||||
|
|
||||||
|
syn match logtalkOperator "+"
|
||||||
|
syn match logtalkOperator "-"
|
||||||
|
syn match logtalkOperator "\*"
|
||||||
|
syn match logtalkOperator "//"
|
||||||
|
syn match logtalkOperator "/"
|
||||||
|
syn keyword logtalkKeyword rem
|
||||||
|
syn keyword logtalkKeyword mod
|
||||||
|
syn keyword logtalkKeyword abs
|
||||||
|
syn keyword logtalkKeyword sign
|
||||||
|
syn keyword logtalkKeyword float_integer_part
|
||||||
|
syn keyword logtalkKeyword float_fractional_part
|
||||||
|
syn keyword logtalkKeyword float
|
||||||
|
syn keyword logtalkKeyword floor
|
||||||
|
syn keyword logtalkKeyword truncate
|
||||||
|
syn keyword logtalkKeyword round
|
||||||
|
syn keyword logtalkKeyword ceiling
|
||||||
|
|
||||||
|
|
||||||
|
" Other arithemtic functors
|
||||||
|
|
||||||
|
syn match logtalkOperator "\*\*"
|
||||||
|
syn keyword logtalkKeyword sin
|
||||||
|
syn keyword logtalkKeyword cos
|
||||||
|
syn keyword logtalkKeyword atan
|
||||||
|
syn keyword logtalkKeyword exp
|
||||||
|
syn keyword logtalkKeyword log
|
||||||
|
syn keyword logtalkKeyword sqrt
|
||||||
|
|
||||||
|
|
||||||
|
" Bitwise functors
|
||||||
|
|
||||||
|
syn match logtalkOperator ">>"
|
||||||
|
syn match logtalkOperator "<<"
|
||||||
|
syn match logtalkOperator "/\\"
|
||||||
|
syn match logtalkOperator "\\/"
|
||||||
|
syn match logtalkOperator "\\"
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk end-of-clause
|
||||||
|
|
||||||
|
syn match logtalkOperator "\."
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk list operator
|
||||||
|
|
||||||
|
syn match logtalkOperator "|"
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk comments
|
||||||
|
|
||||||
|
syn region logtalkBlockComment start="/\*" end="\*/"
|
||||||
|
syn match logtalkLineComment "%.*"
|
||||||
|
|
||||||
|
|
||||||
|
syn sync ccomment maxlines=50
|
||||||
|
|
||||||
|
|
||||||
|
" Define the default highlighting.
|
||||||
|
" For version 5.7 and earlier: only when not done already
|
||||||
|
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||||
|
|
||||||
|
if version >= 508 || !exists("did_logtalk_syn_inits")
|
||||||
|
if version < 508
|
||||||
|
let did_logtalk_syn_inits = 1
|
||||||
|
command -nargs=+ HiLink hi link <args>
|
||||||
|
else
|
||||||
|
command -nargs=+ HiLink hi def link <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
HiLink logtalkBlockComment Comment
|
||||||
|
HiLink logtalkLineComment Comment
|
||||||
|
|
||||||
|
HiLink logtalkOpenEntityDir Normal
|
||||||
|
HiLink logtalkOpenEntityDirTag Statement
|
||||||
|
|
||||||
|
HiLink logtalkEntity Normal
|
||||||
|
|
||||||
|
HiLink logtalkEntityRel Normal
|
||||||
|
HiLink logtalkEntityRelTag Statement
|
||||||
|
|
||||||
|
HiLink logtalkCloseEntityDir Statement
|
||||||
|
|
||||||
|
HiLink logtalkDir Normal
|
||||||
|
HiLink logtalkDirTag Statement
|
||||||
|
|
||||||
|
HiLink logtalkAtom String
|
||||||
|
HiLink logtalkString String
|
||||||
|
|
||||||
|
HiLink logtalkKeyword Keyword
|
||||||
|
|
||||||
|
HiLink logtalkBuiltIn Keyword
|
||||||
|
HiLink logtalkBuiltInMethod Keyword
|
||||||
|
|
||||||
|
HiLink logtalkOperator Operator
|
||||||
|
|
||||||
|
HiLink logtalkExtCall Normal
|
||||||
|
HiLink logtalkExtCallTag Operator
|
||||||
|
|
||||||
|
delcommand HiLink
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
let b:current_syntax = "logtalk"
|
||||||
|
|
||||||
|
set ts=4
|
|
@ -0,0 +1,412 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!DOCTYPE MODE SYSTEM "xmode.dtd">
|
||||||
|
|
||||||
|
<!-- jEdit Logtalk syntax file
|
||||||
|
|
||||||
|
written by Paulo Moura
|
||||||
|
version 1.0
|
||||||
|
created on 2 May 2002
|
||||||
|
last revised 2 May 2002
|
||||||
|
-->
|
||||||
|
|
||||||
|
<MODE>
|
||||||
|
|
||||||
|
<PROPS>
|
||||||
|
<PROPERTY NAME="lineComment" VALUE="%" />
|
||||||
|
<PROPERTY NAME="commentStart" VALUE="/*" />
|
||||||
|
<PROPERTY NAME="commentEnd" VALUE="*/" />
|
||||||
|
</PROPS>
|
||||||
|
|
||||||
|
<RULES IGNORE_CASE="FALSE">
|
||||||
|
|
||||||
|
<!-- Whitespace -->
|
||||||
|
<WHITESPACE> </WHITESPACE>
|
||||||
|
<WHITESPACE> </WHITESPACE>
|
||||||
|
|
||||||
|
<!-- Comments -->
|
||||||
|
<EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>
|
||||||
|
<SPAN TYPE="COMMENT1" NO_LINE_BREAK="FALSE">
|
||||||
|
<BEGIN>/*</BEGIN>
|
||||||
|
<END>*/</END>
|
||||||
|
</SPAN>
|
||||||
|
|
||||||
|
<!-- String literals -->
|
||||||
|
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
|
||||||
|
<BEGIN>'</BEGIN>
|
||||||
|
<END>'</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
|
||||||
|
<BEGIN>"</BEGIN>
|
||||||
|
<END>"</END>
|
||||||
|
</SPAN>
|
||||||
|
|
||||||
|
<!-- External call -->
|
||||||
|
<SPAN TYPE="OPERATOR" DELEGATE="MAIN">
|
||||||
|
<BEGIN>{</BEGIN>
|
||||||
|
<END>}</END>
|
||||||
|
</SPAN>
|
||||||
|
|
||||||
|
<!-- Opening entity directives -->
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_RELATIONS">
|
||||||
|
<BEGIN>:- object(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_RELATIONS">
|
||||||
|
<BEGIN>:- protocol(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_RELATIONS">
|
||||||
|
<BEGIN>:- category(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
|
||||||
|
<!-- Closing entity directives -->
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE">
|
||||||
|
<BEGIN>:- end_object</BEGIN>
|
||||||
|
<END>.</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE">
|
||||||
|
<BEGIN>:- end_protocol</BEGIN>
|
||||||
|
<END>.</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE">
|
||||||
|
<BEGIN>:- end_category</BEGIN>
|
||||||
|
<END>.</END>
|
||||||
|
</SPAN>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Directives -->
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- initialization(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- info(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- mode(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- dynamic(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- dynamic</BEGIN>
|
||||||
|
<END>.</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- discontiguous(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- public(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- protected(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- private(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- metapredicate(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- op(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- calls(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
|
||||||
|
<BEGIN>:- uses(</BEGIN>
|
||||||
|
<END>).</END>
|
||||||
|
</SPAN>
|
||||||
|
|
||||||
|
<!-- Logtalk message sending operators -->
|
||||||
|
<SEQ TYPE="OPERATOR">::</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">:</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">^^</SEQ>
|
||||||
|
|
||||||
|
<!-- Parentheses -->
|
||||||
|
<SEQ TYPE="NULL">(</SEQ>
|
||||||
|
<SEQ TYPE="NULL">)</SEQ>
|
||||||
|
<SEQ TYPE="NULL">{</SEQ>
|
||||||
|
<SEQ TYPE="NULL">}</SEQ>
|
||||||
|
|
||||||
|
<KEYWORDS IGNORE_CASE="FALSE">
|
||||||
|
|
||||||
|
<!-- Logtalk built-in predicates -->
|
||||||
|
|
||||||
|
<FUNCTION>current_object</FUNCTION>
|
||||||
|
<FUNCTION>current_protocol</FUNCTION>
|
||||||
|
<FUNCTION>current_category</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>create_object</FUNCTION>
|
||||||
|
<FUNCTION>create_protocol</FUNCTION>
|
||||||
|
<FUNCTION>create_category</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>object_property</FUNCTION>
|
||||||
|
<FUNCTION>protocol_property</FUNCTION>
|
||||||
|
<FUNCTION>category_property</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>abolish_object</FUNCTION>
|
||||||
|
<FUNCTION>abolish_protocol</FUNCTION>
|
||||||
|
<FUNCTION>abolish_category</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>extends_object</FUNCTION>
|
||||||
|
<FUNCTION>extends_protocol</FUNCTION>
|
||||||
|
<FUNCTION>implements_protocol</FUNCTION>
|
||||||
|
<FUNCTION>instantiates_object</FUNCTION>
|
||||||
|
<FUNCTION>specializes_object</FUNCTION>
|
||||||
|
<FUNCTION>imports_category</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>abolish_events</FUNCTION>
|
||||||
|
<FUNCTION>current_event</FUNCTION>
|
||||||
|
<FUNCTION>define_events</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>current_logtalk_flag</FUNCTION>
|
||||||
|
<FUNCTION>set_logtalk_flag</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>logtalk_compile</FUNCTION>
|
||||||
|
<FUNCTION>logtalk_load</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>forall</FUNCTION>
|
||||||
|
<FUNCTION>logtalk_version</FUNCTION>
|
||||||
|
<FUNCTION>retractall</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Logtalk built-in methods -->
|
||||||
|
|
||||||
|
<FUNCTION>parameter</FUNCTION>
|
||||||
|
<FUNCTION>self</FUNCTION>
|
||||||
|
<FUNCTION>sender</FUNCTION>
|
||||||
|
<FUNCTION>this</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>current_predicate</FUNCTION>
|
||||||
|
<FUNCTION>predicate_property</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>abolish</FUNCTION>
|
||||||
|
<FUNCTION>asserta</FUNCTION>
|
||||||
|
<FUNCTION>assertz</FUNCTION>
|
||||||
|
<FUNCTION>clause</FUNCTION>
|
||||||
|
<FUNCTION>retract</FUNCTION>
|
||||||
|
<FUNCTION>retractall</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>bagof</FUNCTION>
|
||||||
|
<FUNCTION>findall</FUNCTION>
|
||||||
|
<FUNCTION>forall</FUNCTION>
|
||||||
|
<FUNCTION>setof</FUNCTION>
|
||||||
|
|
||||||
|
<FUNCTION>before</FUNCTION>
|
||||||
|
<FUNCTION>after</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Mode operators -->
|
||||||
|
<SEQ TYPE="OPERATOR">?</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">@</SEQ>
|
||||||
|
|
||||||
|
<!-- Control constructs -->
|
||||||
|
<FUNCTION>true</FUNCTION>
|
||||||
|
<FUNCTION>fail</FUNCTION>
|
||||||
|
<FUNCTION>call</FUNCTION>
|
||||||
|
<SEQ TYPE="FUNCTION">!</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">,</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">;</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">-></SEQ>
|
||||||
|
<FUNCTION>catch</FUNCTION>
|
||||||
|
<FUNCTION>throw</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Term unification -->
|
||||||
|
<SEQ TYPE="OPERATOR">=</SEQ>
|
||||||
|
<FUNCTION>unify_with_occurs_check</FUNCTION>
|
||||||
|
<SEQ TYPE="OPERATOR">\=</SEQ>
|
||||||
|
|
||||||
|
<!-- Term testing -->
|
||||||
|
<FUNCTION>var</FUNCTION>
|
||||||
|
<FUNCTION>atom</FUNCTION>
|
||||||
|
<FUNCTION>integer</FUNCTION>
|
||||||
|
<FUNCTION>float</FUNCTION>
|
||||||
|
<FUNCTION>atomic</FUNCTION>
|
||||||
|
<FUNCTION>compound</FUNCTION>
|
||||||
|
<FUNCTION>nonvar</FUNCTION>
|
||||||
|
<FUNCTION>number</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Term comparison -->
|
||||||
|
<SEQ TYPE="OPERATOR">@=<</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">==</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">\==</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">@<</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">@></SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">@>=</SEQ>
|
||||||
|
|
||||||
|
<!-- Term creation and decomposition -->
|
||||||
|
<FUNCTION>functor</FUNCTION>
|
||||||
|
<FUNCTION>arg</FUNCTION>
|
||||||
|
<SEQ TYPE="OPERATOR">=..</SEQ>
|
||||||
|
<FUNCTION>copy_term</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Arithemtic evaluation -->
|
||||||
|
<FUNCTION>is</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Arithemtic comparison -->
|
||||||
|
<SEQ TYPE="OPERATOR">=:=</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">=\=</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR"><</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">=<</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">></SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">>=</SEQ>
|
||||||
|
|
||||||
|
<!-- Clause retrievel and information -->
|
||||||
|
<FUNCTION>clause</FUNCTION>
|
||||||
|
<FUNCTION>current_predicate</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Clause creation and destruction -->
|
||||||
|
<FUNCTION>asserta</FUNCTION>
|
||||||
|
<FUNCTION>assertz</FUNCTION>
|
||||||
|
<FUNCTION>retract</FUNCTION>
|
||||||
|
<FUNCTION>abolish</FUNCTION>
|
||||||
|
|
||||||
|
<!-- All solutions -->
|
||||||
|
<FUNCTION>findall</FUNCTION>
|
||||||
|
<FUNCTION>bagof</FUNCTION>
|
||||||
|
<FUNCTION>setof</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Stream selection and control -->
|
||||||
|
<FUNCTION>current_input</FUNCTION>
|
||||||
|
<FUNCTION>current_output</FUNCTION>
|
||||||
|
<FUNCTION>set_input</FUNCTION>
|
||||||
|
<FUNCTION>set_output</FUNCTION>
|
||||||
|
<FUNCTION>open</FUNCTION>
|
||||||
|
<FUNCTION>close</FUNCTION>
|
||||||
|
<FUNCTION>flush_output</FUNCTION>
|
||||||
|
<FUNCTION>stream_property</FUNCTION>
|
||||||
|
<FUNCTION>at_end_of_stream</FUNCTION>
|
||||||
|
<FUNCTION>set_stream_position</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Character input/output -->
|
||||||
|
<FUNCTION>get_char</FUNCTION>
|
||||||
|
<FUNCTION>get_code</FUNCTION>
|
||||||
|
<FUNCTION>peek_char</FUNCTION>
|
||||||
|
<FUNCTION>peek_code</FUNCTION>
|
||||||
|
<FUNCTION>put_char</FUNCTION>
|
||||||
|
<FUNCTION>put_code</FUNCTION>
|
||||||
|
<FUNCTION>nl</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Byte input/output -->
|
||||||
|
<FUNCTION>get_byte</FUNCTION>
|
||||||
|
<FUNCTION>peek_byte</FUNCTION>
|
||||||
|
<FUNCTION>put_byte</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Term input/output -->
|
||||||
|
<FUNCTION>read_term</FUNCTION>
|
||||||
|
<FUNCTION>read</FUNCTION>
|
||||||
|
<FUNCTION>write_term</FUNCTION>
|
||||||
|
<FUNCTION>write</FUNCTION>
|
||||||
|
<FUNCTION>writeq</FUNCTION>
|
||||||
|
<FUNCTION>write_canonical</FUNCTION>
|
||||||
|
<FUNCTION>op</FUNCTION>
|
||||||
|
<FUNCTION>current_op</FUNCTION>
|
||||||
|
<FUNCTION>char_conversion</FUNCTION>
|
||||||
|
<FUNCTION>current_char_conversion</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Logic and control -->
|
||||||
|
<SEQ TYPE="FUNCTION">\+</SEQ>
|
||||||
|
<FUNCTION>once</FUNCTION>
|
||||||
|
<FUNCTION>repeat</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Atomic term processing -->
|
||||||
|
<FUNCTION>atom_length</FUNCTION>
|
||||||
|
<FUNCTION>atom_concat</FUNCTION>
|
||||||
|
<FUNCTION>sub_atom</FUNCTION>
|
||||||
|
<FUNCTION>atom_chars</FUNCTION>
|
||||||
|
<FUNCTION>atom_codes</FUNCTION>
|
||||||
|
<FUNCTION>char_code</FUNCTION>
|
||||||
|
<FUNCTION>number_chars</FUNCTION>
|
||||||
|
<FUNCTION>number_codes</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Implementation defined hooks functions -->
|
||||||
|
<FUNCTION>set_prolog_flag</FUNCTION>
|
||||||
|
<FUNCTION>current_prolog_flag</FUNCTION>
|
||||||
|
<FUNCTION>halt</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Evaluable functors -->
|
||||||
|
<SEQ TYPE="OPERATOR">+</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">-</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">*</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">//</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">/</SEQ>
|
||||||
|
<FUNCTION>rem</FUNCTION>
|
||||||
|
<FUNCTION>mod</FUNCTION>
|
||||||
|
<FUNCTION>abs</FUNCTION>
|
||||||
|
<FUNCTION>sign</FUNCTION>
|
||||||
|
<FUNCTION>float_integer_part</FUNCTION>
|
||||||
|
<FUNCTION>float_fractional_part</FUNCTION>
|
||||||
|
<FUNCTION>float</FUNCTION>
|
||||||
|
<FUNCTION>floor</FUNCTION>
|
||||||
|
<FUNCTION>truncate</FUNCTION>
|
||||||
|
<FUNCTION>round</FUNCTION>
|
||||||
|
<FUNCTION>ceiling</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Other arithemtic functors -->
|
||||||
|
<SEQ TYPE="OPERATOR">**</SEQ>
|
||||||
|
<FUNCTION>sin</FUNCTION>
|
||||||
|
<FUNCTION>cos</FUNCTION>
|
||||||
|
<FUNCTION>atan</FUNCTION>
|
||||||
|
<FUNCTION>exp</FUNCTION>
|
||||||
|
<FUNCTION>log</FUNCTION>
|
||||||
|
<FUNCTION>sqrt</FUNCTION>
|
||||||
|
|
||||||
|
<!-- Bitwise functors -->
|
||||||
|
<SEQ TYPE="OPERATOR">>></SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR"><<</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">/\</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">\/</SEQ>
|
||||||
|
<SEQ TYPE="OPERATOR">\</SEQ>
|
||||||
|
|
||||||
|
<SEQ TYPE="OPERATOR">.</SEQ>
|
||||||
|
|
||||||
|
</KEYWORDS>
|
||||||
|
|
||||||
|
</RULES>
|
||||||
|
|
||||||
|
<RULES SET="ENTITY_RELATIONS" IGNORE_CASE="FALSE">
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_NAMES">
|
||||||
|
<BEGIN>instantiates(</BEGIN>
|
||||||
|
<END>)</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_NAMES">
|
||||||
|
<BEGIN>specializes(</BEGIN>
|
||||||
|
<END>)</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_NAMES">
|
||||||
|
<BEGIN>extends(</BEGIN>
|
||||||
|
<END>)</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_NAMES">
|
||||||
|
<BEGIN>imports(</BEGIN>
|
||||||
|
<END>)</END>
|
||||||
|
</SPAN>
|
||||||
|
<SPAN TYPE="FUNCTION" NO_LINE_BREAK="FALSE" DELEGATE="ENTITY_NAMES">
|
||||||
|
<BEGIN>implements(</BEGIN>
|
||||||
|
<END>)</END>
|
||||||
|
</SPAN>
|
||||||
|
</RULES>
|
||||||
|
|
||||||
|
|
||||||
|
<RULES SET="ENTITY_NAMES" IGNORE_CASE="FALSE">
|
||||||
|
</RULES>
|
||||||
|
|
||||||
|
|
||||||
|
<RULES SET="DIRECTIVE_CONTENTS" IGNORE_CASE="FALSE">
|
||||||
|
</RULES>
|
||||||
|
|
||||||
|
<RULES SET="PROLOG" IGNORE_CASE="FALSE">
|
||||||
|
</RULES>
|
||||||
|
|
||||||
|
</MODE>
|
Reference in New Issue