pslbnf { // The pul_char stuff. Basically, a normal char + escapes pul_char = /[^\\]/ => { push0 0 integer index } pul_char = /\\0/ => { // NULL 0 integer } pul_char = /\\a/ => { // Bell 7 integer } pul_char = /\\b/ => { // Backspace 8 integer } pul_char = /\\t/ => { // Horizontal tab 9 integer } pul_char = /\\n/ => { // Newline 10 integer } pul_char = /\\v/ => { // Vertical tab 11 integer } pul_char = /\\f/ => { // Form feed 12 integer } pul_char = /\\r/ => { // Carriage return 13 integer } pul_char = /\\e/ => { // Escape 27 integer } pul_char = /\\"/ => { // " "\\"/ } pul_char = /\\\\/ => { // \ "\\" } // pul_chars is any number of pul_char. . . pul_chars = pul_char pul_chars => { 2 integer array } pul_chars = pul_char => { 1 integer array } pul_string = /"/ pul_chars /"/ => { push0 1 integer index {1 integer array this "opString" pul_var member pul_eval call} concat wrap {pul_funcwrap} concat } pul_string = /""/ => { "" {1 integer array this "opString" pul_var member pul_eval call} concat wrap {pul_funcwrap} concat } }; var opString = (x) { var ret = String : [], ret.__value = x, ret }; var String = Object : []; var print = (x) { psl { this "x" pul_var member pul_eval print } }; print("Hello, world!\n");