; Superedi syntax definitions for Logtalk (https://logtalk.org/) ; ; Author: Paulo Moura ; Last changed in: September 14, 2024 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 category predicate direct call operator : ; Logtalk external call { } [Keywords 2] ; Logtalk conditional compilation directives if elif else endif ; Logtalk opening entity directives object protocol category module ; Logtalk closing entity directives end_object end_protocol end_category ; Logtalk entity relations complements instantiates specializes extends imports implements [Keywords 3] ; Logtalk directives alias built_in encoding export reexport initialization info mode mode_non_terminal dynamic discontiguous multifile coinductive public protected private meta_predicate meta_non_terminal 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 complements_object conforms_to_protocol extends_object extends_protocol extends_category implements_protocol instantiates_class specializes_class imports_category abolish_events current_event define_events current_logtalk_flag set_logtalk_flag create_logtalk_flag logtalk_compile logtalk_load logtalk_library_path logtalk_make logtalk_make_target_action threaded threaded_call threaded_once threaded_ignore threaded_exit threaded_peek threaded_cancel threaded_wait threaded_notify threaded_engine threaded_engine_create threaded_engine_destroy threaded_engine_self threaded_engine_next threaded_engine_next_reified threaded_engine_yield threaded_engine_post threaded_engine_fetch forall retractall [Keywords 5] ; Logtalk built-in methods context parameter self sender this current_predicate predicate_property abolish asserta assertz clause retract retractall bagof findall forall setof before after forward expand_term expand_goal goal_expansion term_expansion phrase instantiation_error uninstantiation_error type_error domain_error consistency_error existence_error permission_error representation_error evaluation_error resource_error syntax_error system_error ; Mode operators ? @ ; Control constructs true fail false call ! , ; --> -> catch throw ; Term unification = unify_with_occurs_check \= ; Term testing var atom integer float atomic callable compound ground nonvar number ; Term comparison compare @=< == \== @< @> @>= ; Term creation and decomposition functor arg =.. copy_term numbervars term_variables ; Predicate aliases as ; Arithmetic evaluation is ; Arithmetic comparison =:= =\= < =< > >= ; Sorting keysort sort ; 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 \+ ignore 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 + - * // / max min rem mod abs sign float_integer_part float_fractional_part float floor truncate round ceiling ; Other arithmetic functors ** sin cos acos asin atan exp log sqrt ; Bitwise functors >> << /\ \/ \ ; Logtalk end-of-clause . ; Logtalk list operator |