Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/parser.php on line
66
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/lexer.php on line
292
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/handler.php on line
22
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/handler.php on line
44
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/handler.php on line
208
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/handler.php on line
236
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/handler.php on line
290
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/handler.php on line
323
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/handler.php on line
560
Deprecated: Assigning the return value of new by reference is deprecated in
/www/htdocs/w00d9226/oliverh.com/inc/parser/xhtml.php on line
980
Picotalk is a simple Smalltalk-like programming language and environment implemented in ECMAScript (JavaScript), mainly intended (but not limited) to teaching basic concepts of programming.
Project page at berliOS: https://developer.berlios.de/projects/picotalk/
Picotalk
Case is important: Picotalk distinguishes between identifiers starting with an uppercase letter and those starting with a lowercase letter. A beginning uppercase letter denotes a global name, e.g. a class name.
Brace array literals: Picotalk only supports the brace array notation for array literals.
Declaration of temporaries is a statement:
All data structures (AST, runtime objects) are now pure JSON data structures. This allows easier transport ove
Each AST node is represented by a plain JavaScript object. The type of an AST node is determined by its type
property. Legal values are the
Type | Properties |
(all) | loc |
Code |
Script | args , stmts |
Block | args , stmts |
Method | kind , selector , args , stmts |
Misc Statements |
Temporaries | temps |
Return | expr |
Expressions |
Assignment | name , expr |
MessageSend | kind , selector , receiver , args |
Name | name |
GlobalName | name |
Literal | literal |
Self | - |
Super | - |
BraceArray | exprs |
Primitive | module , method |
Picotalk code is compiled to bytecode. In the current version the generated “bytecode” is just a simple JavaScript array.
Opcode | Parameters | Description |
NOP | - | Does nothing |
PUSH_NIL | - | Pushes the nil object onto the stack |