All pastes #1067011 Raw Edit

Anonymous

public text v1 · immutable
#1067011 ·published 2008-07-09 19:14 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_expression := "." identifier
super : expression keyword
	super_expression := "super"
setup() : function
exit() : function
class : declaration
	class_declaration := "class" identifier ... "{" class_member_list "}"
void : type_name
size() : function
false : expression keyword
	false_expression := "false"
noLoop() : function
this : expression keyword
	this_expression := "this"
true : expression keyword
	true_expression := "true"
new : expression part
	new_expression := "new" function_call_expression
comma : expression part
delay() : function
{} (curly braces) : expression part
draw() : function
loop() : function
implements : declaration part
	implementation_indications := "implements" identifier_list_comma
redraw() : function
; (semicolon) : expression part
[] (array access) : expression part
	array_access_expression := "[" expression "]"
extends : declaration part
	derivation_indication := "extends" identifier
null : expression keyword
	null_expression := "null"
() (parenthesis) : expression part
return : statement part
	return_statement := "return" expression
= (assign) : statement part
	assignment_statement := variable "=" expression

*** Environment

function -> frameRate(), noCursor(), cursor()
static variable -> online, focused, 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_expression := expression "<" expression
<= (less than or equal to) : expression part
	less_eq_expression := expression "<=" expression
> (greater than) : expression part
	greater_than_expression := expression ">" expression
>= (greater than or equal to) : expression part
	greater_eq_expression := expression ">=" expression
== (equality) : expression part
	eq_expression := expression "==" expression
!= (inequality) : expression part
	eq_expression := expression "!=" expression

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

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

?: (conditional) : expression part
	conditional_expression := expression "?" expression ":" expression

break : statement
	break_statement := "break"

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

case : statement part
	switch_case := "case" constant ":" statement_list
		// must end with break_statement

default : statement part
	switch_default := "default" ":" statement_list
		// must end with break_statement

else : statement part
	else_block := "else" statement_block

if : statement part
	if_statement := "if" "(" expression ")" statement_block opt_else_block

|| (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 

static variable -> PrintWriter

function -> everything else

*** Transform, Color

function -> everything

*** Image

PImage : type name
pixels : static variable (array)

function -> everything else

*** Rendering

PGraphics : type name

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_statement := expression "+=" expression
-= (subtract assign) : statement
	subtract_assignment_statement := expression "-=" expression
++ (increment) : statement
	increment_statement := expression "++" // FIXME: no pre-positioned increment?
-- (decrement) : statement
	decrement_statement := expression "--" // FIXME: no pre-positioned increment?

& (bitwise and) : expression part
	bitwise_and_expression := expression "&" expression
| (bitwise or) : expression part
	bitwise_or_expression := expression "|" expression
<< (left shift) : expression part
	left_shift_expression := expression "<<" expression
>> (right shift) : expression part
	right_shift_expression := expression ">>" expression

static variable -> HALF_PI, TWO_PI, PI

function -> everything else