Content deleted Content added
→Token threading: why only 8 or 12? Can't a token be any length the implementer wants? |
m Dating maintenance tags: {{Cn}} |
||
Line 217:
===Token threading===
Token-threaded code uses lists of 8 or 12-bit {{cn|date=July 2020}} indexes to a table of pointers. It is notably compact, without much special effort by a programmer. It is usually half to three-fourths the size of other threadings, which are themselves a quarter to an eighth the size of non-threaded code. The table's pointers can either be indirect or direct. Some Forth compilers produce token-threaded code. Some programmers consider the "[[p-code machine|p-code]]" generated by some [[Pascal (programming language)|Pascal]] compilers, as well as the [[bytecode]]s used by [[.NET Framework|.NET]], [[Java (programming language)|Java]], BASIC and some [[C (programming language)|C]] compilers, to be token-threading.
A common approach, historically, is bytecode, which uses 8-bit opcodes and, often, a stack-based virtual machine. A typical interpreter is known as a "[[decode and dispatch interpreter]]", and follows the form:
|