<commit_before># Create your own processor definition

To add a customized processor architecture is simple. Follow these steps:

* Create an xml file according to the template in this page.
* Put it under your %kam1n0_installation_directory%/architectures/
* Open the workbench, Now you can create a repository with your own processor architecture.

## XML scheme for defining the processor specific assembly language

The definition of your own processor specific assembly language should follow the scheme below. You can find example definitions for arm, powerpc, and metapc under the directory `%kam1n0_installation_directory%/architectures/`. It should be noted that the xml definition of the assembly language does not need to be strictly inclusive. Missing some rarely used suffix for the operations will not have significant impact on the clone search result.

```xml

<?xml version="1.0" encoding="UTF-8"?>
   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xs:element name="Kam1n0-Architecture">
               <xs:complexType>
                     <xs:sequence>
                           <xs:element name="processor" type="xs:string"></xs:element>
                           <xs:element name="operations">
                                 <xs:complexType>
                                       <xs:sequence>
                                             <xs:element name="operation" maxOccurs="unbounded">
                                                   <xs:complexType>
                                                         <xs:sequence>
                                                               <xs:element name="suffixGroup" type="xs:string"></xs:element>
                                                         </xs:sequence>
                                                         <xs:attribute name="identifier" type="xs:string"></xs:attribute>
                                                   </xs:complexType>
                                             </xs:element>
                                       </xs:sequence>
                                 </xs:complexType>
                           </xs:element>
                           <xs:element name="operationJmps">
                                 <xs:complexType>
                                       <xs:sequence><commit_msg>Update processor-definition.md<commit_after># Create your own processor definition

To add a customized processor architecture, follow these steps:

* Create an xml file according to the template on this page.
* Put it under your %kam1n0_installation_directory%/architectures/
* Open the workbench. Now you can create a repository with your own processor architecture.

## XML scheme for defining the processor specific assembly language

The definition of your own processor-specific assembly language should follow the scheme below. You can find some sample definitions for ARM, PowerPC, and metapc from the directory `%kam1n0_installation_directory%/architectures/`. It should be noted that the xml definition of the assembly language does not need to be strictly inclusive. Missing some rarely used suffix for the operations will not have significant impact on the clone search result.

```xml

<?xml version="1.0" encoding="UTF-8"?>
   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xs:element name="Kam1n0-Architecture">
               <xs:complexType>
                     <xs:sequence>
                           <xs:element name="processor" type="xs:string"></xs:element>
                           <xs:element name="operations">
                                 <xs:complexType>
                                       <xs:sequence>
                                             <xs:element name="operation" maxOccurs="unbounded">
                                                   <xs:complexType>
                                                         <xs:sequence>
                                                               <xs:element name="suffixGroup" type="xs:string"></xs:element>
                                                         </xs:sequence>
                                                         <xs:attribute name="identifier" type="xs:string"></xs:attribute>
                                                   </xs:complexType>
                                             </xs:element>
                                       </xs:sequence>
                                 </xs:complexType>
                           </xs:element>
                           <xs:element name="operationJmps">
                                 <xs:complexType>
                                       <xs:sequence>
{'fraction_non_alphanumeric': 0.07642916321458161, 'fraction_numerical': 0.00579950289975145, 'mean_word_length': 1.4181271907861792, 'pattern_counts': {'":': 0, '<': 55, '<?xml version=': 2, '>': 55, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 10}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 44, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5270147', 'n_tokens_mistral': 983, 'n_tokens_neox': 944, 'n_words': 320}