<commit_before>/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
/**
\page GenDataModel Generator Data Model 

The <b>Generator Data Model</b> defines the resource and partition data structure for code generators.
This data structure is connected to a FreeMarker template engine and file templates allow to generate
various files that can be used to configure development tools or hardware components.

\image html generator.png "FreeMarker Template Engine"

\section fp_toplevel FreeMarker top-level format

\subpage fm_system provides memory layout and TrustZone configuration of the complete system. 
\subpage fm_zone setup information of a zone (or system partition) along with related peripherals.

\section fm_basics FreeMarker basics

The variable types relevant for CMSIS-Zone are:

\b scalar: variable that stores a single value of a scalar type
scalar-types:
- string
- int
- bool

\b hash: variable that that stores one or more variables with a unique lookup name

\b sequence: variable that stores sub-variables without names but instead are selected via index (myVariable[index])

A variable is accessed using the dollar character followed by a variable or expression in brackets:
\code
${...}
\endcode
Output the name of the zone:
\code
${zone.name}
\endcode

A sequence gets iterated:
\code
<#list zone.memory as mem>
   Memory region name $mem.name
</#list

Printing a sorted list of all available memory entries by start address
\code
<#list zone.memory?sort_by("start") as mem>
  ${mem.start} ${mem.name}
</#list>
\endcode

<commit_msg>Doxygen: Fixed minor issue in ftl example<commit_after>/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
/**
\page GenDataModel Generator Data Model 

The <b>Generator Data Model</b> defines the resource and partition data structure for code generators.
This data structure is connected to a FreeMarker template engine and file templates allow to generate
various files that can be used to configure development tools or hardware components.

\image html generator.png "FreeMarker Template Engine"

\section fp_toplevel FreeMarker top-level format

\subpage fm_system provides memory layout and TrustZone configuration of the complete system. 
\subpage fm_zone setup information of a zone (or system partition) along with related peripherals.

\section fm_basics FreeMarker basics

The variable types relevant for CMSIS-Zone are:

\b scalar: variable that stores a single value of a scalar type
scalar-types:
- string
- int
- bool

\b hash: variable that that stores one or more variables with a unique lookup name

\b sequence: variable that stores sub-variables without names but instead are selected via index (myVariable[index])

A variable is accessed using the dollar character followed by a variable or expression in brackets:
\code
${...}
\endcode
Output the name of the zone:
\code
${zone.name}
\endcode

A sequence gets iterated:
\code
<#list zone.memory as mem>
   Memory region name $mem.name
</#list>
\endcode

Printing a sorted list of all available memory entries by start address
\code
<#list zone.memory?sort_by("start") as mem>
  ${mem.start} ${mem.name}
</#list>
\endcode


{'fraction_non_alphanumeric': 0.12757575757575756, 'fraction_numerical': 0.007272727272727273, 'mean_word_length': 4.947747747747748, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1443742', 'n_tokens_mistral': 897, 'n_tokens_neox': 851, 'n_words': 417}