.. include:: ./../../macros.txt
.. include:: ./../../units.txt

.. _TABLE_OF_RULES:

Table of Rules
==============

General
-------

+-------------+--------------------------------------------+-----------------+
| Rule        | Link                                       | Automated Check |
+-------------+--------------------------------------------+-----------------+
| GENERAL:001 | :ref:`rule_general_filenames`              | Yes             |
+-------------+--------------------------------------------+-----------------+
| GENERAL:002 | :ref:`rule_general_filename_uniqueness`    | Yes             |
+-------------+--------------------------------------------+-----------------+
| GENERAL:003 | :ref:`rule_general_text_file_encoding`     | Yes             |
+-------------+--------------------------------------------+-----------------+
| GENERAL:004 | :ref:`rule_general_eof`                    | Yes             |
+-------------+--------------------------------------------+-----------------+
| GENERAL:005 | :ref:`rule_general_no_trailing_whitespace` | Yes             |
+-------------+--------------------------------------------+-----------------+
| GENERAL:006 | :ref:`rule_general_indentation`            | Yes             |
+-------------+--------------------------------------------+-----------------+

C-Rules
-------

+-------------+----------------------------------------------+-----------------+
| Rule        | Link                                         | Automated Check |
+-------------+----------------------------------------------+-----------------+
| C:001       | :ref:`rule_c_filenames`                      | No              |
+-------------+----------------------------------------------+-----------------+
| C:002       | :ref:`rule_c_header`                         | Yes             |
+-------------+----------------------------------------------+-----------------+
| C:003       | :ref:`rule_c_linelength`                     | No              |
+-------------+----------------------------------------------+-----------------+
| C:004       | :ref:`rule_c_file_level_doxygen`             | Yes             |
+-------------+----------------------------------------------+-----------------+
| C:005       | :ref:`rule_c_include_guard`                  | Yes             |
+-------------+----------------------------------------------+-----------------+
| C:006       | :ref:`rule_c_sections`                       | Yes             |
+-------------+----------------------------------------------+-----------------+
| C:007       | :ref:`rule_c_includes`                       | No              |
+-------------+----------------------------------------------+-----------------+
| C:008       | :ref:`rule_c_scoping`                        | No              |
+-------------+----------------------------------------------+-----------------+
| C:009       | :ref:`rule_c_function_names`                 | No              |
+-------------+----------------------------------------------+-----------------+
| C:010       | :ref:`rule_c_function_scopes`                | No              |
+-------------+----------------------------------------------+-----------------+
| C:011       | :ref:`rule_c_function_doxygen_documentation` | No              |
+-------------+----------------------------------------------+-----------------+
| C:012       | :ref:`rule_c_function_return_value`          | No              |
+-------------+----------------------------------------------+-----------------+
| C:013       | :ref:`rule_c_function_calls`                 | No              |
+-------------+----------------------------------------------+-----------------+
| C:014       | :ref:`rule_c_additional_function_rules`      | No              |
+-------------+----------------------------------------------+-----------------+
| C:015       | :ref:`rule_c_function_parameter_checking`    | No              |
+-------------+----------------------------------------------+-----------------+
| C:016       | :ref:`rule_c_variable_names`                 | No              |
+-------------+----------------------------------------------+-----------------+
| C:017       | :ref:`rule_c_constant_names`                 | No              |
+-------------+----------------------------------------------+-----------------+
| C:018       | :ref:`rule_c_pointer_rules`                  | No              |
+-------------+----------------------------------------------+-----------------+
| C:019       | :ref:`rule_c_variable_initialization`        | No              |
+-------------+----------------------------------------------+-----------------+
| C:020       | :ref:`rule_c_hexadecimal`                    | No              |
+-------------+----------------------------------------------+-----------------+
| C:021       | :ref:`rule_c_floating_point`                 | No              |
+-------------+----------------------------------------------+-----------------+
| C:022       | :ref:`rule_c_structs`                        | No              |
+-------------+----------------------------------------------+-----------------+
| C:023       | :ref:`rule_c_enums`                          | No              |
+-------------+----------------------------------------------+-----------------+
| C:024       | :ref:`rule_c_typedefs`                       | No              |
+-------------+----------------------------------------------+-----------------+
| C:025       | :ref:`rule_c_macros`                         | No              |
+-------------+----------------------------------------------+-----------------+
| C:026       | :ref:`rule_c_conditionals`                   | No              |
+-------------+----------------------------------------------+-----------------+
| C:027       | :ref:`rule_c_switch`                         | No              |
+-------------+----------------------------------------------+-----------------+
| C:028       | :ref:`rule_c_loop`                           | No              |
+-------------+----------------------------------------------+-----------------+
| C:029       | :ref:`rule_c_comment_style`                  | Yes             |
+-------------+----------------------------------------------+-----------------+
| C:030       | :ref:`rule_c_hints`                          | NO              |
+-------------+----------------------------------------------+-----------------+
| C:031       | :ref:`rule_c_formatting`                     | NO              |
+-------------+----------------------------------------------+-----------------+

Python-Rules
------------

+-------------+----------------------------------------+-----------------+
| Rule        | Link                                   | Automated Check |
+-------------+----------------------------------------+-----------------+
| PYTHON:001  | :ref:`rule_python_filenames`           | No              |
+-------------+----------------------------------------+-----------------+
| PYTHON:002  | :ref:`rule_python_header`              | Yes             |
+-------------+----------------------------------------+-----------------+
| PYTHON:003  | :ref:`rule_python_syntax`              | No              |
+-------------+----------------------------------------+-----------------+
| PYTHON:004  | :ref:`rule_python_formatting`          | No              |
+-------------+----------------------------------------+-----------------+
| PYTHON:005  | :ref:`rule_python_spa`                 | No              |
+-------------+----------------------------------------+-----------------+
| PYTHON:006  | :ref:`rule_no_platform_specific_code`  | No              |
+-------------+----------------------------------------+-----------------+
| PYTHON:007  | :ref:`rule_python_wscript_rules`       | No              |
+-------------+----------------------------------------+-----------------+



reStructuredText-Rules
----------------------

+-------------+------------------------------------+-----------------+
| Rule        | Link                               | Automated Check |
+-------------+------------------------------------+-----------------+
| RST:001     | :ref:`rule_rst_filenames`          | No              |
+-------------+------------------------------------+-----------------+
| RST:002     | :ref:`rule_rst_linelength`         | No              |
+-------------+------------------------------------+-----------------+
| RST:003     | :ref:`rule_rst_include`            | Yes             |
+-------------+------------------------------------+-----------------+
| RST:004     | :ref:`rule_rst_links`              | Yes             |
+-------------+------------------------------------+-----------------+
| RST:005     | :ref:`rule_rst_headings`           | Yes             |
+-------------+------------------------------------+-----------------+
| RST:006     | :ref:`rule_rst_orphan`             | Yes             |
+-------------+------------------------------------+-----------------+
| RST:007     | :ref:`rule_rst_sentence`           | No              |
+-------------+------------------------------------+-----------------+

Batch and Shell-Rules
---------------------

+-------------+----------------------------------------+-----------------+
| Rule        | Link                                   | Automated Check |
+-------------+----------------------------------------+-----------------+
| BATCH:001   | :ref:`rule_batch_filenames`            | No              |
+-------------+----------------------------------------+-----------------+
| BATCH:002   | :ref:`rule_batch_header`               | Yes             |
+-------------+----------------------------------------+-----------------+
| SHELL:001   | :ref:`rule_shell_filenames`            | No              |
+-------------+----------------------------------------+-----------------+
| SHELL:002   | :ref:`rule_shell_header`               | Yes             |
+-------------+----------------------------------------+-----------------+

YAML-Rules
----------

+-------------+----------------------------------------+-----------------+
| Rule        | Link                                   | automated check |
+-------------+----------------------------------------+-----------------+
| YAML:001    | :ref:`rule_yaml_filenames`             | No              |
+-------------+----------------------------------------+-----------------+
| YAML:002    | :ref:`rule_yaml_header`                | Yes             |
+-------------+----------------------------------------+-----------------+