Linting preprocessors
Not all preprocessors convert code. Some clear up after us and search for the bugs we’ve missed. The unique Unix command-line device, lint
, has metastasized and now its capabilities are discovered as preprocessors in lots of language growth stacks. These linting instruments, or linters, repair formatting, implement naming conventions, and even repair some syntactic and semantic errors. Some implement guidelines that flag potential safety flaws from dangerous logic. Standard variations embody RuboCop for Ruby code, Pylint for Python, and ESLint for JavaScript (ECMAScript).
Preprocessors for documentation
Some preprocessors produce one thing apart from runnable code. Instruments like Sphinx, MkDocs, and Doxygen analyze your information and create an annotated and cross-referenced set of documentation information straight from code. These instruments are designed to work with a number of languages however virtually all of the languages have their very own official preprocessor. Standard examples embody Javadoc, Rustdoc, Godoc, and JSDoc.
Preprocessors for built-in knowledge reporting
Knowledge scientists don’t simply communicate R language. Additionally they write out advanced knowledge reviews in a human language crammed with charts, tables, and graphs created by R. Over time, knowledge scientists have created advanced preprocessors for not solely R but additionally LaTeX, the typesetting language. The scientist writes all the pieces in R and human language, then the preprocessor splits it up, sending the computational directions to R and the typesetting directions to LaTeX. On the identical time, it juggles the components so the images produced by R find yourself in the precise place in your doc. LaTeX then folds them into the eventual PDF that’s produced from the human language components of the file. It does all this whereas additionally organizing web page references and illustration numbers to be constant.