69 lines
2.2 KiB
Plaintext
69 lines
2.2 KiB
Plaintext
% testing for the erlang syntax highlighter
|
|
% NOTE alerts work in comments to TODO !
|
|
|
|
% pragmas (show as keywords)
|
|
-module
|
|
-export
|
|
-define
|
|
-undef
|
|
-ifdef
|
|
-ifndef
|
|
-else
|
|
-endif
|
|
-include
|
|
-include_lib
|
|
|
|
% key words
|
|
after begin case catch cond end fun if let of query receive all_true some_true
|
|
|
|
% operators
|
|
div rem or xor bor bxor bsl bsr and band not bnot
|
|
+ - * / == /= =:= =/= < =< > >= ++ -- = ! <-
|
|
|
|
% separators (show as functions)
|
|
( ) { } [ ] . : | || ; , ? -> #
|
|
|
|
% functions - predefined (part of erlang module) - show as functions
|
|
abs accept alarm apply atom_to_list binary_to_list binary_to_term check_process_code
|
|
concat_binary date delete_module disconnect_node element erase exit float float_to_list
|
|
garbage_collect get get_keys group_leader halt hd integer_to_list is_alive is_atom is_binary
|
|
is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive
|
|
is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_float list_to_integer
|
|
list_to_pid list_to_tuple load_module loaded localtime make_ref module_loaded node nodes now
|
|
open_port pid_to_list port_close port_command port_connect port_control ports pre_loaded process_flag
|
|
process_info processes purge_module put register registered round self setelement size
|
|
spawn spawn_link spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_to_list
|
|
unlink unregister whereis
|
|
|
|
% functions - inferred
|
|
module:function
|
|
function()
|
|
|
|
% atoms (show as "char")
|
|
% begin with underscore, lowercase, contain numbers letters and @ - or anything between ''
|
|
middle_underscore
|
|
abc ab4d a@cd8 a@
|
|
'And this is (\012) an atom \' Atoo' Variable 'atom again'
|
|
|
|
% variables (begin with capital letter or underscore, contain numbers, letters and @)
|
|
_leadingUnderscore AbdD@ B45@c
|
|
|
|
% this is a string
|
|
"a string sits between \" double quotes" atom "more string"
|
|
|
|
% integers (decimal)
|
|
1. 234 $A
|
|
|
|
% integers (specified base)
|
|
2#10101 34#567
|
|
|
|
% float
|
|
12.23 12.9e-67 12.8E+89 33.34e89
|
|
|
|
% and finally some real code, so we can see what it looks like...
|
|
-module(codetest). % everything is in a module
|
|
-export([fac/1]). % name and number of arguments - need this to be called outside of the module
|
|
|
|
fac(N) when N > 0 -> N * fac(N-1);
|
|
fac(N) when N == 0 -> 1.
|