Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
829 lines (683 sloc) 18.7 KB
;; Copyright (C) 2001 Stephen Leake
;;
;; Author: Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov>,
;;
;; $Date: 2002/09/13 01:16:58 $
;; Version: 0.1
;; 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.
# Stephe's customized C++ templates
DELETE PLACEHOLDER ",..." -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER ",..." -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
", ..."
END DEFINE
DELETE PLACEHOLDER "*&" -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER "*&" -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU -
" *"
" * const "
" &"
END DEFINE
DELETE PLACEHOLDER ACCESS_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER ACCESS_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="public, protected, private"
/DUPLICATION=VERTICAL -
/SEPARATOR="" -
/TYPE=MENU
"public"
"protected"
"private"
END DEFINE
DELETE PLACEHOLDER ACCESS_SPECIFIER: -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER ACCESS_SPECIFIER: -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="public, protected, private"
/DUPLICATION=VERTICAL -
/SEPARATOR="" -
/TYPE=MENU
"public:"
"protected:"
"private:"
END DEFINE
DELETE PLACEHOLDER ANSI_INCLUDE_FILES -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER ANSI_INCLUDE_FILES -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=VERTICAL -
/SEPARATOR="" -
/TYPE=MENU -
"#include <stdio.h>"
"#include <stdlib.h>"
"#include <{file_spec}>"
END DEFINE
DELETE PLACEHOLDER BASE_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER BASE_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR=", " -
/TYPE=NONTERMINAL -
"[access_specifier] [virtual] [nested_name_specifier]"
END DEFINE
DELETE PLACEHOLDER BODY_FILE_HEADER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER BODY_FILE_HEADER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"//"
"// Purpose:"
"//"
"// Implement the {unit_name} unit."
"//"
"[references]"
"[copyright]"
END DEFINE
DELETE PLACEHOLDER CLASS_HEAD -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER CLASS_HEAD -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"{class_key} [nested_name_specifier] [base_clause]"
END DEFINE
DELETE PLACEHOLDER CLASS_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER CLASS_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="Class specification"
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL
"{class_head}"
"{"
"public:"
""
" // [comment]"
" {class_name} ({parameter_declaration}... [,...]);"
""
" // [comment]"
" ~{class_name} ();"
""
" [member_declaration]..."
""
"[access_specifier:]"
""
" [member_declaration]..."
""
"}; // {class_name}"
END DEFINE
DELETE PLACEHOLDER CLASS_MENU -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER CLASS_MENU -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="menu of possible uses of 'class' keyword"
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU
"class_specifier"/PLACEHOLDER
"class [identifier] [= {type_specifier}... [abstract_declarator]]"
{placeholder_line}...
END DEFINE
DELETE TOKEN CLASS -
/LANGUAGE="C++" -
DEFINE TOKEN CLASS -
/LANGUAGE="C++" -
/PLACEHOLDER=CLASS_MENU
END DEFINE
DELETE PLACEHOLDER COMPILATION_UNIT -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER COMPILATION_UNIT -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="" -
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU -
"unit_specification"/PLACEHOLDER
"unit_body"/PLACEHOLDER
"main_program"/PLACEHOLDER
END DEFINE
DELETE PLACEHOLDER CONST -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER CONST -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL
"const "
END DEFINE
DELETE PLACEHOLDER COPYRIGHT -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER COPYRIGHT -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU -
"nasa_copyright"/PLACEHOLDER
END DEFINE
DELETE PLACEHOLDER DECL_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER DECL_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=HORIZONTAL -
/SEPARATOR=" " -
/TYPE=MENU -
"type_specifier"/PLACEHOLDER
"storage_class_specifier"/PLACEHOLDER
"function_specifier"/PLACEHOLDER
"friend"
"typedef"/TOKEN
END DEFINE
DELETE PLACEHOLDER DESCRIPTION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER DESCRIPTION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="" -
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=TERMINAL
"Enter some text."
END DEFINE
DELETE PLACEHOLDER FILE_SPEC -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER FILE_SPEC -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=TERMINAL -
"a file name"
END DEFINE
DELETE PLACEHOLDER FUNCTION_DECLARATION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER FUNCTION_DECLARATION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="declares a function"
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"// [comment]"
"{type_specifier} {function_name} ([parameter_declaration]...[,...]);"
""
END DEFINE
DELETE PLACEHOLDER FUNCTION_DEFINITION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER FUNCTION_DEFINITION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="defines a function"
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"{decl_specifier}... [class_name]::{function_name} ({parameter_declaration_clause})"
"{"
" [variable_decl]..."
""
" {statement}..."
"}"
END DEFINE
DELETE PLACEHOLDER FUNCTION_NAME -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER FUNCTION_NAME -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=TERMINAL -
"a function name"
END DEFINE
DELETE PLACEHOLDER INCLUDE_FILES -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER INCLUDE_FILES -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=VERTICAL -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"#include "{file_spec}""
END DEFINE
DELETE PLACEHOLDER MAIN_FILE_HEADER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER MAIN_FILE_HEADER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"//"
"// Purpose:"
"// {description}"
"//"
"// References:"
"// {description}"
"//"
"[copyright]"
"//"
END DEFINE
DELETE PLACEHOLDER MAIN_PROGRAM -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER MAIN_PROGRAM -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"[main_file_header]"
""
"[ansi_include_files]..."
"[include_files]..."
""
"[function_declaration]..."
""
"[function_definition]..."
""
"int main (int argc, char *argv[])"
"{"
" [variable_decl]..."
""
" {statement}..."
" return 0;"
"} // end main"
"// end of file"
END DEFINE
DELETE PLACEHOLDER MEMBER_DECLARATION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER MEMBER_DECLARATION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU -
"function_declaration"/PLACEHOLDER
"function_definition"/PLACEHOLDER
"[decl_specifier]... [member_declarator]...;"
"{qualified_id};"
"using_declaration"/PLACEHOLDER
"template_declaration"/PLACEHOLDER
END DEFINE
DELETE PLACEHOLDER MEMBER_SPECIFICATION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER MEMBER_SPECIFICATION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=VERTICAL -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"[{access_specifier} :][member_declaration]..."
END DEFINE
DELETE PLACEHOLDER NASA_COPYRIGHT -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER NASA_COPYRIGHT -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"// Notice"
"//"
"// Copyright (C) 2001 National Aeronautics and Space Administration."
"// No copyright is claimed in the United States under Title 17, U.S."
"// Code. All Foreign Rights are Reserved to the U.S. Government."
"//"
"// Disclaimer "
"//"
"// This software is provided "as is" without any warranty of any kind,"
"// either express, implied, or statutory, including, but not limited"
"// to, any warranty that the software will conform to specifications,"
"// any implied warranties of merchantability, fitness for a particular"
"// purpose, and freedom from infringement, and any warranty that the"
"// documentation will conform to the program, or any warranty that the"
"// software will be error free."
"//"
"// In no event shall NASA be liable for any damages, including, but not"
"// limited to direct, indirect, special or consequential damages,"
"// arising out of, resulting from, or in any way connected with the"
"// software or its documentation. Whether or not based upon warranty,"
"// contract, tort or otherwise, and whether or not loss was sustained"
"// from, or arose out of the results of, or use of, the software,"
"// documentation or services provided hereunder."
"//"
"// Export Control"
"// "
"// The recipient of this software from NASA shall not export or"
"// re-export directly or indirectly (including via remote access,"
"// i.e. Internet) any part of this software or its documentation to any"
"// country for which a validated license is required for such export or"
"// re-export under the EXPORT LAWS without first obtaining such a"
"// validated license."
"//"
END DEFINE
DELETE PLACEHOLDER NESTED_NAME_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER NESTED_NAME_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="" -
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU -
"{identifier}"
"{class_or_namespace_name}::[nested_name_specifier]"
END DEFINE
DELETE PLACEHOLDER PARAMETER_DECLARATION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER PARAMETER_DECLARATION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="parameter declaration, restricted for good style"
/DUPLICATION=VERTICAL -
/SEPARATOR=", " -
/TYPE=NONTERMINAL -
"[const]{type_name} {identifier}[= {assignment_expression}]"
END DEFINE
DELETE PLACEHOLDER REFERENCES -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER REFERENCES -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL
"// References:"
"//"
"// {description}"
"//"
END DEFINE
DELETE PLACEHOLDER SPEC_FILE_HEADER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER SPEC_FILE_HEADER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"//"
"// Purpose:"
"//"
"// {description}"
"//"
"[references]"
"[copyright]"
END DEFINE
DELETE PLACEHOLDER TYPE_NAME -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER TYPE_NAME -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="A type name"
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL
"[nested_name_specifier][*&]"
END DEFINE
DELETE PLACEHOLDER TYPE_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER TYPE_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="A complete type specifier"
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU
"[const][nested_name_specifier] [*&]"
"void [*&]"
END DEFINE
DELETE PLACEHOLDER UNIT_BODY -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER UNIT_BODY -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"[body_file_header]"
""
"#include "{unit_name}.hpp""
""
"[ansi_include_files]..."
"[include_files]..."
""
"[function_definition]..."
"// end of file"
END DEFINE
DELETE PLACEHOLDER UNIT_NAME -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER UNIT_NAME -
/LANGUAGE="C++" -
/AUTO_SUBSTITUTE -
/DESCRIPTION="" -
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=TERMINAL
"unit_name is not implemented"
END DEFINE
DELETE PLACEHOLDER UNIT_SPECIFICATION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER UNIT_SPECIFICATION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"[spec_file_header]"
"#ifndef _[unit_name]_"
"#define _[unit_name]_"
""
"[ansi_include_files]..."
"[include_files]..."
""
"[class_specifier]..."
"#endif // end of file"
""
END DEFINE
DELETE PLACEHOLDER TYPEDEF_DECLARATION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER TYPEDEF_DECLARATION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"typedef [type_qualifier]... {data_type_specifier} {declarator}...;"
END DEFINE
DELETE PLACEHOLDER TYPE_QUALIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER TYPE_QUALIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR=" " -
/TYPE=MENU -
"const"
"volatile"
END DEFINE
DELETE PLACEHOLDER DATA_TYPE_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER DATA_TYPE_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=MENU -
"void"
"char"
"int"
"float"
"double"
"unsigned char"
"signed char"
"unsigned short int"
"signed short int"
"short int"
"unsigned int"
"signed int"
"unsigned long int"
"signed long int"
"long int"
"struct_specifier"/PLACEHOLDER
"union_specifier"/PLACEHOLDER
"enum_specifier"/PLACEHOLDER
"type_name"/PLACEHOLDER
END DEFINE
DELETE TOKEN TYPEDEF -
/LANGUAGE="C++" -
DEFINE TOKEN TYPEDEF -
/LANGUAGE="C++" -
/PLACEHOLDER=TYPEDEF_DECLARATION
END DEFINE
DELETE PLACEHOLDER STRUCT_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER STRUCT_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="" -
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"struct [identifier] [{{struct_declaration}...}]"
END DEFINE
DELETE PLACEHOLDER {{STRUCT_DECLARATION}...} -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER {{STRUCT_DECLARATION}...} -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="" -
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"{"
" {struct_declaration}..."
"}"
END DEFINE
DELETE PLACEHOLDER STRUCT_DECLARATION -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER STRUCT_DECLARATION -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION="" -
/DUPLICATION=VERTICAL -
/SEPARATOR="; " -
/TYPE=NONTERMINAL -
"{data_type_specifier} {declarator}"
END DEFINE
DELETE PLACEHOLDER ENUM_SPECIFIER -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER ENUM_SPECIFIER -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"enum [identifier]"
"{"
" {enumerator}..."
"}"
END DEFINE
DELETE PLACEHOLDER ENUMERATOR -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER ENUMERATOR -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR=", " -
/TYPE=NONTERMINAL -
"{identifier} [= {constant_expression}]"
END DEFINE
DELETE PLACEHOLDER IF_STATEMENT -
/LANGUAGE="C++" -
DEFINE PLACEHOLDER IF_STATEMENT -
/LANGUAGE="C++" -
/NOAUTO_SUBSTITUTE -
/DESCRIPTION=""
/DUPLICATION=CONTEXT_DEPENDENT -
/SEPARATOR="" -
/TYPE=NONTERMINAL -
"if ({condition})"
"{"
" {statement}..."
"}"
"[else_part]"
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
;; end of file