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