All pastes #837982 Raw Edit

pikhq

public text v1 · immutable
#837982 ·published 2007-12-30 00:58 UTC
rendered paste body
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 = /\\"/ => {  // "
		34 integer
	}
	pul_char = /\\\\/ => { // \
		92 integer
	}

	// 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
	}
	plof_literal = pul_string => {
		0index
	}
};

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
		null
	};
};

print("Hello, world!");