# Extending PMD

Table of Contents

The following pages and posts are tagged with

Title | Type | Excerpt
--- | --- | ---
Adding PMD support for a new dialect for an already existing language | Page | How to add a new dialect.
Adding PMD support for a new ANTLR grammar based language | Page | How to add a new language to PMD using ANTLR grammar.
Adding PMD support for a new JavaCC grammar based language | Page | How to add a new language to PMD using JavaCC grammar.
How to add a new CPD language | Page | How to add a new language module with CPD support.
Defining rule properties | Page | Learn how to define your own properties both for Java and XPath rules.
The rule designer | Page | Learn about the usage and features of the rule designer.
Guidelines for standard rules | Page | Guidelines for rules that are included in the standard distribution
Rule guidelines | Page | Rule Guidelines, or the last touches to a rule
Testing your rules | Page | Learn how to use PMD's simple test framework for unit testing rules.
Writing a custom rule | Page | Learn how to write a custom rule for PMD
Writing a custom rule | Page | The information on this page has been split into several separate pages. Please update your bookmarks: * [Introduction to writing rules](pmd_userdocs_extending_writing_rules_intro.html) * [Your First Rule](pmd_userdocs_extending_your_first_rule.html) introduces the basic development process of a rule with a running example * [Writing XPath Rules](pmd_userdocs_extending_writing_xpath_rules.html) explains a bit more about XPath rules and our...
Introduction to writing PMD rules | Page | Writing your own PMD rules
Writing XPath rules | Page | This page describes XPath rule support in more details
Your first rule | Page | Introduction to rule writing through an example for a XPath rule.