;; Copyright (C) 2001, 2004 Peter Milliken ;; ;; Author: Peter Milliken , ;; ;; ;; Keywords: language sensitive abbreviation template placeholder token ;; ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;****************************************************************************** ;; These definitions are my personal customisations for the language. This is ;; where you should place YOUR customisations. ;; ;; Sometimes there is a definition(s) in here that override definitions in the ;; main language template file that are here to make that definition more ;; "usable" - this is because I (primarily) try and generate/maintain the main ;; .lse files from EBNF definitions of the language. Sometimes I just can't ;; express the appropriate customisation in the EBNF and so I am forced to ;; override the placeholder definition in this file. ;; ;; This entries in this file should be used as an example of how to create your ;; own customisations. I would caution that you don't delete any definitions ;; though until you are sure that your edit sessions will not be adversely ;; affected. The best way to check out the effects of a delete is to "compile" ;; (else-compile-buffer) the "delete" command for that definition (this will ;; remove it from your edit session and you can nolonger access the definition ;; until next you load language template files) and then see whether anything ;; has been "lost" in your code generation ability i.e. say you think you don't ;; need the definition for placeholder XXX, just place the following lines at ;; the end of one of your source files (when ELSE is enabled for that buffer) ;; and perform a compile (M-x else-compile-buffer) with the cursor positioned at ;; the beginning of the line: ;; ;; DELETE PLACEHOLDER XXX - ;; /LANGUAGE = "C" - ;; ;; This will delete definition XXX from memory. ;; ;;****************************************************************************** DELETE PLACEHOLDER COMPILATION_UNIT - /LANGUAGE="C" - DEFINE PLACEHOLDER COMPILATION_UNIT - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" - /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "[module_level_comments]" "[{include_files}...]" " " "[{data_types_or_declarations}...]" " " "[{function_definition}...]" " " "[main_function]" END DEFINE DELETE PLACEHOLDER #INCLUDE - /LANGUAGE="C" - DEFINE PLACEHOLDER #INCLUDE - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" - /DUPLICATION=VERTICAL - /SEPARATOR="" - /TYPE=MENU "#include <{file_name}>" "#include "{file_name}"" END DEFINE DELETE PLACEHOLDER FILE_NAME - /LANGUAGE="C" - DEFINE PLACEHOLDER FILE_NAME - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" - /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=TERMINAL "Enter the name of the include file here i.e. stdio.h" END DEFINE DELETE PLACEHOLDER MODULE_LEVEL_COMMENTS - /LANGUAGE="C" - DEFINE PLACEHOLDER MODULE_LEVEL_COMMENTS - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "/* ===[ {module} ]==============================================================" "" "@@Description: {text}" "" "@@Revisions:" "" "@@@@REV DATE BY DESCRIPTION" "@@------ --------- --- ------------------------------------------------" "@@[text] [text] [text] [text]" "@@-----------------------------------------------------------------------------" "" "@@@@This item is the property of ResMed Ltd, and contains confidential and trade" "@@@@secret information. It may not be transfered from the custody or control of" "@@@@ResMed except as authorised in writing by an officer of ResMed. Neither this" "@@@@item nor the information it contains may be used, transfered, reproduced," "@@@@published, or disclosed, in whole or in part, and directly or indirectly," "@@@@except as expressly authorised by an officer of ResMed, pursuant to written" "@@@@agreement." "" "@@@@Copyright (c) 2004 ResMed Ltd. All rights reserved." "@@===========================================================================*/" "" END DEFINE DELETE PLACEHOLDER MODULE - /LANGUAGE="C" - DEFINE PLACEHOLDER MODULE - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" - /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=TERMINAL "Enter the name of the module i.e. gs_lib.c" END DEFINE DELETE PLACEHOLDER FUNCTION_DEFINITION - /LANGUAGE="C" - DEFINE PLACEHOLDER FUNCTION_DEFINITION - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" - /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "[declaration_specifiers] {declarator}" "[declaration]..." "{" " [declaration]..." " [statement]..." "}" END DEFINE DELETE TOKEN MAIN_FUNCTION_DEF - /LANGUAGE="C" - DEFINE TOKEN MAIN_FUNCTION_DEF - /LANGUAGE="C" - /DESCRIPTION="defines a main function" "[function_level_comments]" "{main() OR main function that accept arguments from the command line}" "{" " [block_decl]..." "" " {statement}..." "}" END DEFINE DELETE PLACEHOLDER FUNCTION_LEVEL_COMMENTS - /LANGUAGE="C" - DEFINE PLACEHOLDER FUNCTION_LEVEL_COMMENTS - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "/* ===[ {text} ]===============================================" "" "@@@Summary: {text}" "" "@@@Description: {text}" "" "@@@Return Value: {text} always returns P_SUCCESS" "" "@@@========================================================================== */" END DEFINE DELETE PLACEHOLDER CONDITIONAL_EXPRESSION - /LANGUAGE="C" - DEFINE PLACEHOLDER CONDITIONAL_EXPRESSION - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" - /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=MENU - "logical_or_expression"/PLACEHOLDER "{logical_or_expression} ? {expression} : {conditional_expression}" END DEFINE DELETE PLACEHOLDER CASE_PART - /LANGUAGE="C" - DEFINE PLACEHOLDER CASE_PART - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=VERTICAL - /SEPARATOR="" - /TYPE=NONTERMINAL - "case {constant_expression}:" "[case {constant_expression}:]..." " [statement]..." " break;" END DEFINE DELETE PLACEHOLDER DEFAULT_PART - /LANGUAGE="C" - DEFINE PLACEHOLDER DEFAULT_PART - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "default :" " [statement]..." " break;" END DEFINE DELETE PLACEHOLDER WHILE_STATEMENT - /LANGUAGE="C" - DEFINE PLACEHOLDER WHILE_STATEMENT - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "while ({expression})" "{" " {statement}..." "}" END DEFINE DELETE PLACEHOLDER IF_STATEMENT - /LANGUAGE="C" - DEFINE PLACEHOLDER IF_STATEMENT - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "if ({expression})" "{" " {statement}..." "}" "[elsif_part]..." "[else_part]" END DEFINE DELETE PLACEHOLDER ELSIF_PART - /LANGUAGE="C" - DEFINE PLACEHOLDER ELSIF_PART - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=VERTICAL - /SEPARATOR="" - /TYPE=NONTERMINAL - "else if ({expression})" "{" " {statement}..." "}" END DEFINE DELETE PLACEHOLDER ELSE_PART - /LANGUAGE="C" - DEFINE PLACEHOLDER ELSE_PART - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "else" "{" " {statement}..." "}" END DEFINE DELETE PLACEHOLDER SWITCH_STATEMENT - /LANGUAGE="C" - DEFINE PLACEHOLDER SWITCH_STATEMENT - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "switch ({expression})" "{" " [case_part]..." " [default_part]" "}" END DEFINE DELETE PLACEHOLDER DO_STATEMENT - /LANGUAGE="C" - DEFINE PLACEHOLDER DO_STATEMENT - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "do" "{" " {statement}..." "} while ({expression});" END DEFINE DELETE PLACEHOLDER DEFAULT_PART - /LANGUAGE="C" - DEFINE PLACEHOLDER DEFAULT_PART - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - /RUN_CODE=eut-test1/BEFORE /RUN_CODE=eut-test2/AFTER /RUN_CODE=eut-test3/ONINSERT "default :" " [statement]..." " break;" END DEFINE DELETE PLACEHOLDER FOR_STATEMENT - /LANGUAGE="C" - DEFINE PLACEHOLDER FOR_STATEMENT - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "for ([loop_init]; [loop_control]; [expression])" "{" " {statement}..." "}" END DEFINE DELETE PLACEHOLDER PROTOTYPE_DECLARATION - /LANGUAGE="C" - DEFINE PLACEHOLDER PROTOTYPE_DECLARATION - /LANGUAGE="C" - /NOAUTO_SUBSTITUTE - /DESCRIPTION="" /DUPLICATION=CONTEXT_DEPENDENT - /SEPARATOR="" - /TYPE=NONTERMINAL - "[function_level_comments]" "[static_or_extern] {data_type_specifier} [*]{function_name} ([{parameter_declaration}...[, ...]]);" END DEFINE DELETE TOKEN COMMENT - /LANGUAGE="C" - DEFINE TOKEN COMMENT - /LANGUAGE="C" - /PLACEHOLDER=COMMENT_STATEMENT END DEFINE DELETE TOKEN C - /LANGUAGE="C" - DEFINE TOKEN C - /LANGUAGE="C" - "/* {text} */" END DEFINE DELETE TOKEN P - /LANGUAGE="C" - DEFINE TOKEN P - /LANGUAGE="C" - /RUN_CODE=eut-test2/AFTER "p_report_format(0, rinfo_p, str);" END DEFINE