[Wisp-cvs] wisp/users/dig tran-builtins,1.32,1.33
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2003-05-18 15:20:03
|
Update of /cvsroot/wisp/wisp/users/dig In directory sc8-pr-cvs1:/tmp/cvs-serv32459 Modified Files: tran-builtins Log Message: wrote |padded-symbol, sym int| Index: tran-builtins =================================================================== RCS file: /cvsroot/wisp/wisp/users/dig/tran-builtins,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- tran-builtins 18 May 2003 13:15:04 -0000 1.32 +++ tran-builtins 18 May 2003 15:19:57 -0000 1.33 @@ -184,6 +184,15 @@ if not name[0] in '&#!': name = '&' + name interpreter.regstack.append(Symbol_Literal(name)) +padded-symbol, sym int + # takes a symbol S and an integer N. Emits S, character-wise, + # padded by zero bytes to N and cut as needed. + # The symbol prefix will not be emitted. + n = interpreter.regstack.pop() + s = interpreter.regstack.pop() + s = (str(s) + '\0' * n)[1:n + 1] + interpreter.current.emit_string(s) + reserve int interpreter.current.skip(interpreter.regstack.pop()) |