1% A simple TI asm mode 2 3$1 = "tiasm"; 4create_syntax_table ($1); 5 6define_syntax (";", "", '%', $1); % Comment Syntax 7%define_syntax ('\\', '\\', $1); % Quote character 8define_syntax ("{[", "}]", '(', $1); % are all these needed? 9define_syntax ('\'', '"', $1); % string 10define_syntax ("$~^_&#", '+', $1); % operators 11define_syntax ("|&{}[],", ',', $1); % delimiters 12define_syntax ("a-zA-Z0-9.", 'w', $1); 13set_syntax_flags ($1, 1 | 2); 14set_fortran_comment_chars ($1, "*"); 15 16% Type 0 keywords 17() = define_keywords_n ($1, 18 "andashbuddbdldaldilshmh1noppopsti", 19 3, 0); 20 21() = define_keywords_n ($1, 22 "addibeqdbledcmpildizlhu0lhu1pushretsrptbsubi", 23 4, 0); 24 25() = define_keywords_n ($1, 26 "ldinzrptbd", 27 5, 0); 28 29% Type 1 keywords 30() = define_keywords_n ($1, 31 ".if", 32 3, 1); 33() = define_keywords_n ($1, 34 ".end", 35 4, 1); 36() = define_keywords_n ($1, 37 ".else.text", 38 5, 1); 39() = define_keywords_n ($1, 40 ".endif.globl", 41 6, 1); 42 43define tiasm_mode () 44{ 45 variable kmap = "tiasm"; 46 set_mode(kmap, 4); 47 use_syntax_table (kmap); 48 mode_set_mode_info (kmap, "fold_info", "*{{{\r*}}}\r\r"); 49 run_mode_hooks("tiasm_mode_hook"); 50} 51