From 9c9c52f753a9caf51189ad9e1293476f2384676b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 15 Jun 2013 16:48:36 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@5858 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- tools/gencfg/lib/libcode.ftl | 316 ------------------------------------------- 1 file changed, 316 deletions(-) delete mode 100644 tools/gencfg/lib/libcode.ftl (limited to 'tools/gencfg/lib/libcode.ftl') diff --git a/tools/gencfg/lib/libcode.ftl b/tools/gencfg/lib/libcode.ftl deleted file mode 100644 index 45b94a320..000000000 --- a/tools/gencfg/lib/libcode.ftl +++ /dev/null @@ -1,316 +0,0 @@ -[#ftl] -[#-- - ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, - 2011,2012 Giovanni Di Sirio. - - This file is part of ChibiOS/RT. - - ChibiOS/RT 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 3 of the License, or - (at your option) any later version. - - ChibiOS/RT 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 this program. If not, see . - --] - -<#-- - -- Coding style global settings. - --> -[#assign indentation = " " /] -[#assign fields_align = 24 /] -[#assign define_value_align = 36 /] -[#assign comments_align = 48 /] -[#assign boundary = 80 /] - -[#-- - -- This macro generates a brief description in DoxyGen format. - --] -[#macro EmitDoxygenBrief object=[]] - [#if object.brief[0]??] -[@utils.FormatStringAsText " * @brief " - " * " - utils.WithDot(object.brief[0]?cap_first) - boundary /] - [/#if] -[/#macro] - -[#-- - -- This macro generates a detailed description in DoxyGen format. - --] -[#macro EmitDoxygenDetails object=[]] - [#if object.details[0]??] -[@utils.FormatStringAsText " * @details " - " * " - utils.WithDot(object.details[0]?cap_first) - boundary /] - [/#if] -[/#macro] - -[#-- - -- This macro generates a notes list in DoxyGen format. - --] -[#macro EmitDoxygenNotes object=[]] - [#list object.* as note] - [#if note?node_name == "note"] - [@utils.FormatStringAsText " * @note " - " * " - utils.WithDot(note[0]?cap_first) - boundary /] - [/#if] - [/#list] -[/#macro] - -[#-- - -- This macro generates a pre-requisites list in DoxyGen format. - --] -[#macro EmitDoxygenPrerequisites object=[]] - [#list object.* as pre] - [#if pre?node_name == "pre"] - [@utils.FormatStringAsText " * @pre " - " * " - utils.WithDot(pre[0]?cap_first) - boundary /] - [/#if] - [/#list] -[/#macro] - -[#-- - -- This macro generates a post-requisites list in DoxyGen format. - --] -[#macro EmitDoxygenPostrequisites object=[]] - [#list object.* as post] - [#if post?node_name == "post"] - [@utils.FormatStringAsText " * @post " - " * " - utils.WithDot(post[0]?cap_first) - boundary /] - [/#if] - [/#list] -[/#macro] - -[#-- - -- This macro generates a complete Doxygen documentation comment. - --] -[#macro EmitDoxygenDocumentationComment object=[]] -/** - [@code.EmitDoxygenBrief object /] - [@code.EmitDoxygenDetails object /] - [@code.EmitDoxygenPrerequisites object /] - [@code.EmitDoxygenPostrequisites object /] - [@code.EmitDoxygenNotes object /] - */ -[/#macro] - -[#-- - -- This macro generates the parameters description in DoxyGen format. - --] -[#macro EmitDoxygenParams params=[]] - [#list params as param] - [#local name = (param.@name[0]!"no-name")?trim /] - [#local brief = (param.@brief[0]!"")?trim /] - [#local dir = (param.@dir[0]!"boh")?trim?lower_case /] - [#if dir == "in"] -[@utils.FormatStringAsText " * @param[in] " - " * " - utils.IntelligentDot(name + " " + brief?uncap_first) - boundary /] - [#elseif dir == "out"] -[@utils.FormatStringAsText " * @param[out] " - " * " - utils.IntelligentDot(name + " " + brief?uncap_first) - boundary /] - [#elseif dir == "both"] -[@utils.FormatStringAsText " * @param[in,out] " - " * " - utils.IntelligentDot(name + " " + brief?uncap_first) - boundary /] - [#elseif dir == "boh"] -[@utils.FormatStringAsText " * @param " - " * " - utils.IntelligentDot(name + " " + brief?uncap_first) - boundary /] - [/#if] - [/#list] -[/#macro] - -[#-- - -- This macro generates a return description followed by a retval list - -- in DoxyGen format. - --] -[#macro EmitDoxygenReturn return=[]] - [#if return[0]?? && ((return[0].@type[0]!"void")?trim != "void")] - [#local brief = (return[0].@brief[0]!"")?trim /] - [#if brief != ""] -[@utils.FormatStringAsText " * @return " - " * " - utils.WithDot(brief?cap_first) - boundary /] - [/#if] - [#list return[0].value as value] - [#local label = (value.@name[0]!"no-val")?trim /] - [#local brief = (value.@brief[0]!"")?trim /] -[@utils.FormatStringAsText " * @retval " - " * " - utils.WithDot(label + " " + brief?uncap_first) - boundary /] - [/#list] - [/#if] -[/#macro] - -[#-- - -- This macro generates the inner function code (if present). - --] -[#macro EmitCode code=[]] - [#if function.code[0]?? && (function.code[0]?trim != "")] -${indentation}${function.code[0]?trim} - [/#if] -[/#macro] - -[#-- - -- Returns true if the module exports some functions. - --] -[#function HasPublicFunctions module=[]] - [#local flag = false /] - [#list module.function as function] - [#if (function.@visibility[0]!"private") == "public"] - [#local flag = true /] - [/#if] - [/#list] - [#return flag /] -[/#function] - -[#-- - -- Returns true if the module has static functions. - --] -[#function HasPrivateFunctions module=[]] - [#local flag = false /] - [#list module.function as function] - [#if (function.@visibility[0]!"private") == "private"] - [#local flag = true /] - [/#if] - [/#list] - [#return flag /] -[/#function] - -[#-- - -- This macro generates a function prototype from an XML "function" - -- node passed as parameter. - -- @note Does not generate the final EOL. - --] -[#macro GeneratePrototype function={}] - [#if function.return?? && function.return[0]??] - [#local rettype = (function.return[0].@type[0]!"void")?trim /] - [#else] - [#local rettype = "void" /] - [/#if] - [#local name = (function.@name[0]!"no-name")?trim /] - [#local visibility = (function.@visibility[0]!"private")?trim /] - [#if function.param?? && function.param[0]??] - [#-- If the function has parameters then generates the parameters list --] - [#local l1 = rettype + " " + name + "(" /] - [#if visibility == "private"] - [#local l1 = "static " + l1 /] - [/#if] - [#local ln = ""?right_pad(l1?length) /] - [#list function.param as param] - [#local type = (param.@type[0]!"no-type")?trim /] - [#if type?contains("$")] - [#local pstring = type?replace("$", (param.@name[0]!"no-name")?trim) /] - [#else] - [#local pstring = type + " " + (param.@name[0]!"no-name")?trim /] - [/#if] - [#local dir = (param.@dir[0]!"boh")?trim?lower_case /] - [#if dir == "in"] - [#local pstring = "const " + pstring /] - [/#if] - [#if param_index == 0] - [#local line = l1 + pstring /] - [#else] - [#if (line + ", " + pstring + " ")?length > boundary] -${line + ","} - [#local line = ln + pstring /] - [#else] - [#local line = line + ", " + pstring /] - [/#if] - [/#if] - [/#list] -${line + ")"}[#rt] - [#else] -${rettype + " " + name}(void)[#rt] - [/#if] -[/#macro] - -[#-- - -- This macro generates a function (and its Doxygen documentation) - -- from an XML "function" node passed as parameter. - --] -[#macro GenerateFunction function={}] -/** -[@EmitDoxygenBrief function.@brief /] -[@EmitDoxygenDetails function.details /] -[@EmitDoxygenParams function.param /] -[@EmitDoxygenReturn function.return /] - * - * @note --Implementer notes here (or remove the tag)-- - * @bug --Known problems please here (or remove the tag)-- - * @todo --Implement this function (then remove the tag)-- - */ -[@GeneratePrototype function /] { - [#if function.code[0]??] - [#-- Makes sure to undef the do_code macro --] - [#assign inline = "[#ftl][#macro do_code function][/#macro]"?interpret /] -[@inline /] - [#-- Interprets the code within the code element --] - [#assign inline = function.code[0]?interpret /] -[@inline /] -[@do_code function /] - [#else] - -${indentation}/* ${function.@name[0]!"no-name"}() Implementation here! */ - [/#if] -} -[/#macro] - -[#-- - -- Generates the implementations for the private functions in the specified - -- module. - --] -[#macro GeneratePrivateFunctionsImplementations module] - [#list module.function as function] - [#if (function.@visibility[0]!"private") == "private"] -[@code.GenerateFunction function /] - - [/#if] - [/#list] -[/#macro] - -[#-- - -- Generates the prototypes of the public functions in the specified - -- module. - --] -[#macro GeneratePublicFunctionsPrototypes indentation module] - [#list module.function as function] - [#if (function.@visibility[0]!"private")?trim == "public"] -${indentation}[@code.GeneratePrototype function /]; - [/#if] - [/#list] -[/#macro] - -[#-- - -- Generates the implementations for the public functions in the specified - -- module. - --] -[#macro GeneratePublicFunctionsImplementations module] - [#list module.function as function] - [#if (function.@visibility[0]!"private") == "public"] -[@code.GenerateFunction function /] - - [/#if] - [/#list] -[/#macro] -- cgit v1.2.3