; 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 threaded threaded_call threaded_once threaded_ignore threaded_race threaded_exit threaded_peek threaded_wait threaded_notify forall 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 expand_term term_expansion phrase ; 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 |