; Superedi syntax definitions for Logtalk (http://logtalk.org/)
;
; Author: Paulo Moura
; Last changed in: February 13, 2007
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 = \
[FunctionList]
Object = ^\s*:-\sobject[(]{[a-z][a-zA-Z0-9_]+}
Interface = ^\s*:-\sprotocol[(]{[a-z][a-zA-Z0-9_]+}
Item = ^\s*:-\scategory[(]{[a-z][a-zA-Z0-9_]+}
Method = ^\s*:-\spublic[(]{[a-z][a-zA-Z0-9_]+}
[Keywords 1]
; Logtalk message sending operators
^^
:-
.
,
::
; Logtalk external call
{
}
[Keywords 2]
; Logtalk opening entity directives
object
protocol
category
module
; Logtalk closing entity directives
end_object
end_protocol
end_category
; Logtalk entity relations
instantiates
specializes
extends
imports
implements
[Keywords 3]
; Logtalk directives
alias
encoding
export
initialization
info
mode
dynamic
discontiguous
multifile
public
protected
private
meta_predicate
op
calls
uses
use_module
synchronized
threaded
[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_class
specializes_class
imports_category
abolish_events
current_event
define_events
current_logtalk_flag
set_logtalk_flag
logtalk_compile
logtalk_load
logtalk_library_path
forall
retractall
[Keywords 5]
; Logtalk built-in methods
parameter
self
sender
this
current_predicate
predicate_property
abolish
asserta
assertz
clause
retract
bagof
findall
setof
before
after
expand_term
term_expansion
phrase
threaded_call
threaded_once
threaded_ignore
threaded_race
threaded_exit
threaded_peek
threaded_wait
threaded_notify
; 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
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
floor
truncate
round
ceiling
; Other arithemtic functors
**
sin
cos
atan
exp
log
sqrt
; Bitwise functors
>>
<<
/\
\/
\
; Logtalk end-of-clause
; Logtalk list operator
|