diff --git a/app/preproc/PdePreprocessor.java b/app/preproc/PdePreprocessor.java
index d2d5f6500..dcb82ffb4 100644
--- a/app/preproc/PdePreprocessor.java
+++ b/app/preproc/PdePreprocessor.java
@@ -42,6 +42,36 @@ import com.oroinc.text.regex.*;
/**
* Class that orchestrates preprocessing p5 syntax into straight Java.
*
+ * Current Preprocessor Subsitutions:
+ *
+ * - any function not specified as being protected or private will
+ * be made 'public'. this means that void setup() becomes
+ * public void setup(). This is important to note when
+ * coding with core.jar outside of the PDE.
+ *
- compiler.substitute_floats (currently "substitute_f")
+ * treat doubles as floats, i.e. 12.3 becomes 12.3f so that people
+ * don't have to add f after their numbers all the time since it's
+ * confusing for beginners.
+ *
- compiler.enhanced_casting byte(), char(), int(), float()
+ * works for casting. this is basic in the current implementation, but
+ * should be expanded as described above. color() works similarly to int(),
+ * however there is also a *function* called color(r, g, b) in p5.
+ *
- compiler.color_datatype 'color' is aliased to 'int'
+ * as a datatype to represent ARGB packed into a single int, commonly
+ * used in p5 for pixels[] and other color operations. this is just a
+ * search/replace type thing, and it can be used interchangeably with int.
+ *
- compiler.web_colors (currently "inline_web_colors")
+ * color c = #cc0080; should unpack to 0xffcc0080 (the ff at the top is
+ * so that the color is opaque), which is just an int.
+ *
+ * Other preprocessor functionality
+ *
+ * - detects what 'mode' the program is in: static (no function
+ * brackets at all, just assumes everything is in draw), active
+ * (setup plus draw or loop), and java mode (full java support).
+ * http://processing.org/reference/environment/
+ *
+ *
* The PDE Preprocessor is based on the Java Grammar that comes with
* ANTLR 2.7.2. Moving it forward to a new version of the grammar
* shouldn't be too difficult.
@@ -97,39 +127,6 @@ import com.oroinc.text.regex.*;
* itself. The ANTLR manual goes into a fair amount of detail about the
* what each type of file is for.
*
- * Current Preprocessor Subsitutions:
- *
- * - compiler.substitute_floats (currently "substitute_f")
- * treat doubles as floats, i.e. 12.3 becomes 12.3f so that people
- * don't have to add f after their numbers all the time. this is
- * confusing for beginners.
- *
- compiler.enhanced_casting byte(), char(), int(), float()
- * works for casting. this is basic in the current implementation, but
- * should be expanded as described above. color() works similarly to int(),
- * however there is also a *function* called color(r, g, b) in p5.
- * will this cause trouble?
- *
- compiler.color_datattype 'color' is aliased to 'int'
- * as a datatype to represent ARGB packed into a single int, commonly
- * used in p5 for pixels[] and other color operations. this is just a
- * search/replace type thing, and it can be used interchangeably with int.
- *
- compiler.web_colors (currently "inline_web_colors")
- * color c = #cc0080; should unpack to 0xffcc0080 (the ff at the top is
- * so that the color is opaque), which is just an int.
- *
- * Other preprocessor functionality
- *
- * - detects what 'mode' the program is in: static (no function
- * brackets at all, just assumes everything is in draw), active
- * (setup plus draw or loop), and java mode (full java support).
- * http://processing.org/reference/environment/
- *
- size and background are pulled from draw mode programs and
- * placed into setup(). this has a problem if size() is based on a
- * variable, which we try to avoid people doing, but would like to be
- * able to support it (perhaps by requiring the size() to be final?)
- *
- currently does a godawful scrambling of the comments so that
- * the substitution doesn't try to run on them. this also causes lots
- * of bizarro bugs.
- *
*/
public class PdePreprocessor {