Skip to main content

Prude is a simple parser that check word error (CamelCase variable, snake_case variable and Documentation)

Project description


prude is a generic code annalyser to check language error. The language check is the english.



This is a tool to annalyse C, C++ file and determine if it have some english word that does not exist.

Prude is under a FREE license that can be found in the COPYING file. Any contribution is more than welcome ;)

git repository


Requirements: Python >= 2.7 and pip

Just run:

pip install prude

Install pip on debian/ubuntu:

sudo apt-get install pip

Install pip on ARCH-linux:

sudo pacman -S pip

Install pip on MacOs:

sudo easy_install pip

developpement for prude:

git clone
cd prude
./ develop --user



Go to your coding directory and execute:

  prude yourFileToParce.cpp
  # OR (multiple files)
  prude yourFileToParce.cpp and.txt
  # simply the path
  prude .

You can use some options:

  --color/-C to have beautifull color check
  --recursive/-r Parse all under directories

Create exceptions:

prude parse all upper folder to find all file ".prude_*" and add it in the list of exceptions error.

The search end when find the file ".prude".

you can have:

    --> .prude
    --> .prude_lua
    --> .prude_tinyxml
    --> module
          --> submodule
                --> .prude_local
                --> .prude_local2
                --> my_file_cpp.cpp
          --> sub_second
                --> file_c.c

The check of the file my_file_cpp.cpp use all the .prude* file and the file file_c.c only use the file on the root_path

A prude file is contituated like:

  • # Comment the line
  • + Use the end of the line to check the exact match of the string (ex: +MY_VariableStupidName)
  • direct element is use to comare each word in lower case to exclude error on it (ex: destructor)
  • ! Command to apply at the configuration.
    • !NO_CAPITAL_LETTER ==> disable the check of the word in capital letter
    • !CAPITAL_LETTER ==> enable the check of the word in capital letter (default)

Some tricky things (removed because it is errored at the declaration and no more need in library using it):

  • The namespace call are disable (ex namespace::prout)
  • The parameter access are disable (ex: variable.hello() or variable->hello())
  • The "#include ..." and the "# include ..."

Now you can play.

Note: in the you have some common C library that declare stupid thing in global...

License (APACHE v2.0)

Copyright prude Edouard DUPIN

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for prude, version 0.3.2
Filename, size File type Python version Upload date Hashes
Filename, size prude-0.3.2.tar.gz (500.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page