All pastes #1066847 Raw Edit

Anonymous

public text v1 · immutable
#1066847 ·published 2008-07-09 17:25 UTC
rendered paste body
see http://processing.org/reference/index.html for names.

** filtered at tokenization phase

/* ... */ : multiline comment
/** ... */ : doc comment
// : single line comment

** generative syntax

*** Structure

. (dot) : expression part
	member_access := "." identifier
super : expression keyword
setup() : function
exit() : function
class : declaration
	class_declaration := "class" identifier ... "{" class_member_list "}"
void : type_name
size() : function
false : expression keyword
noLoop() : function
this : expression keyword
true : expression keyword
new : expression part
	new_object := "new" identifier "(" function_args ")"
comma : expression part
delay() : function
{} (curly braces) : expression part
draw() : function
loop() : function
implements : declaration part
	implementation_indication := "implements" identifier
redraw() : function
; (semicolon) : expression part
[] (array access) : expression part
	array_access := "[" expression "]"
extends : declaration part
	derivation_indication := "extends" identifier
null : expression keyword
() (parenthesis) : expression part
return : expression part
	return_statement := "return" expression
= (assign) : expression part
	assignment := variable "=" expression

*** Environment

function -> frameRate(), noCursor(), cursor()
static variable -> frameRate, screen, width, height, frameCount

*** Data

type name -> color, char, float, int, boolean, byte, String, Array, Object

function -> (everything else)

*** Control

< (less than) : expression part
	less_than_expr := expression "<" expression
<= (less than or equal to) : expression part
	less_eq_expr := expression "<=" expression
> (greater than) : expression part
	greater_than_expr := expression ">" expression
>= (greater than or equal to) : expression part
	greater_eq_expr := expression ">=" expression
== (equality) : expression part
	eq_expr := expression "==" expression
!= (inequality) : expression part
	eq_expr := expression "!=" expression

for : expression part
	for_statement := "for" "(" for_initializers ";" expression ";" for_continuations ")" statement_block

while : expression part
	while_statement := "while" "(" expression ")" statement_block

break : statement
	break_statement := "break"

switch : statement
	switch_statement := "switch" "(" expression ")" "{" switch_case_list "}"

case : expression part
	switch_case :=
		"case" constant ":" statement_list
		| "default" ":" statement_list // ends with break_statement
		// must end with break_statement

(default : expression part)

else : expression part
if : statement
	if_statement := "if" "(" expression ")"

|| (logical or) : expression
	logical_or_expression := expression "||" expression
&& (logical and) : expression
	logical_and_expression := expression "&&" expression
! (logical not) : expression
	logical_not_expression := "!" expression

*** Shape

function -> everything

*** Input

static variable -> mouseButton, mousePressed, mouseX, mouseY, pmouseX, pmouseY
	keyCode, key, keyPressed

function -> everything else

*** Output, Transform, Color

function -> everything

*** Image

PImage : type name
pixels : static variable (array)

function -> everything else

*** Typography

PFont : type name

function -> everything else

*** Math

+ (plus) : expression part
	add_expression := expression "+" expression
- (minus) : expression part / expression part
	subtract_expression := expression "-" expression
	numeric_negation_expression := "-" expression
* (multiply) : expression part
	multiply_expression := expression "*" expression
/ (divide) : expression part
	divide_expression := expression "/" expression
% (modulo) : expression part
	modulo_expression := expression "%" expression
+= (add assign) : statement
	add_assignment := expression "+=" expression
-= (subtract assign) : statement
	subtract_assignment := expression "-=" expression
++ (increment) : statement
	increment_statement := expression "++" // FIXME: no pre-positioned increment?
-- (decrement) : statement
	decrement_statement := expression "--" // FIXME: no pre-positioned increment?

static variable -> HALF_PI, TWO_PI, PI

function -> everything else