Author: autrijus
Date: Fri Oct 7 14:43:12 2005
New Revision: 9401
Modified:
trunk/MANIFEST
trunk/runtime/parrot/library/PGE/Hs.pir
Log:
* move the helper functions from run_pge.pir in Pugs into Parrot.
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST (original)
+++ trunk/MANIFEST Fri Oct 7 14:43:12 2005
@@ -721,76 +721,76 @@ imcc/t/syn/pod.t
imcc/t/syn/scope.t []
imcc/t/syn/tail.t []
imcc/unit.h []
-include/parrot/autoprefix.h [devel]include
-include/parrot/builtin.h [devel]include
-include/parrot/caches.h [devel]include
-include/parrot/cclass.h [devel]include
-include/parrot/charset.h [devel]include
-include/parrot/datatypes.h [devel]include
-include/parrot/debug.h [devel]include
-include/parrot/dod.h [devel]include
-include/parrot/dynext.h [devel]include
-include/parrot/embed.h [devel]include
-include/parrot/encoding.h [devel]include
-include/parrot/enums.h [devel]include
-include/parrot/events.h [devel]include
-include/parrot/exceptions.h [devel]include
-include/parrot/exec.h [devel]include
-include/parrot/exec_save.h [devel]include
-include/parrot/exit.h [devel]include
-include/parrot/extend.h [devel]include
-include/parrot/global_setup.h [devel]include
-include/parrot/global.h [devel]include
-include/parrot/hash.h [devel]include
-include/parrot/headers.h [devel]include
-include/parrot/hll.h [devel]include
-include/parrot/inter_call.h [devel]include
-include/parrot/interp_guts.h [devel]include
-include/parrot/interpreter.h [devel]include
-include/parrot/intlist.h [devel]include
-include/parrot/io.h [devel]include
-include/parrot/jit.h [devel]include
-include/parrot/key.h [devel]include
-include/parrot/lexical.h [devel]include
-include/parrot/library.h [devel]include
-include/parrot/list.h [devel]include
-include/parrot/longopt.h [devel]include
-include/parrot/memory.h [devel]include
-include/parrot/method_util.h [devel]include
-include/parrot/misc.h [devel]include
-include/parrot/mmd.h [devel]include
-include/parrot/nci.h [devel]include
-include/parrot/objects.h [devel]include
-include/parrot/op.h [devel]include
-include/parrot/oplib.h [devel]include
-include/parrot/packfile.h [devel]include
-include/parrot/parrot.h [devel]include
-include/parrot/perltypes.h [devel]include
-include/parrot/pic.h [devel]include
-include/parrot/pmc.h [devel]include
-include/parrot/pmc_freeze.h [devel]include
-include/parrot/pobj.h [devel]include
-include/parrot/regfuncs.h [devel]include
-include/parrot/register.h [devel]include
-include/parrot/resources.h [devel]include
-include/parrot/runops_cores.h [devel]include
-include/parrot/settings.h [devel]include
-include/parrot/slice.h [devel]include
-include/parrot/smallobject.h [devel]include
-include/parrot/stacks.h [devel]include
-include/parrot/stat.h [devel]include
-include/parrot/string.h [devel]include
-include/parrot/string_funcs.h [devel]include
-include/parrot/string_primitives.h [devel]include
-include/parrot/sub.h [devel]include
-include/parrot/thr_pthread.h [devel]include
-include/parrot/thr_windows.h [devel]include
-include/parrot/thread.h [devel]include
-include/parrot/trace.h [devel]include
-include/parrot/tsq.h [devel]include
-include/parrot/unicode.h [devel]include
-include/parrot/vtables.h [devel]include
-include/parrot/warnings.h [devel]include
+include/parrot/autoprefix.h [main]include
+include/parrot/builtin.h [main]include
+include/parrot/caches.h [main]include
+include/parrot/cclass.h [main]include
+include/parrot/charset.h [main]include
+include/parrot/datatypes.h [main]include
+include/parrot/debug.h [main]include
+include/parrot/dod.h [main]include
+include/parrot/dynext.h [main]include
+include/parrot/embed.h [main]include
+include/parrot/encoding.h [main]include
+include/parrot/enums.h [main]include
+include/parrot/events.h [main]include
+include/parrot/exceptions.h [main]include
+include/parrot/exec.h [main]include
+include/parrot/exec_save.h [main]include
+include/parrot/exit.h [main]include
+include/parrot/extend.h [main]include
+include/parrot/global_setup.h [main]include
+include/parrot/global.h [main]include
+include/parrot/hash.h [main]include
+include/parrot/headers.h [main]include
+include/parrot/hll.h [main]include
+include/parrot/inter_call.h [main]include
+include/parrot/interp_guts.h [main]include
+include/parrot/interpreter.h [main]include
+include/parrot/intlist.h [main]include
+include/parrot/io.h [main]include
+include/parrot/jit.h [main]include
+include/parrot/key.h [main]include
+include/parrot/lexical.h [main]include
+include/parrot/library.h [main]include
+include/parrot/list.h [main]include
+include/parrot/longopt.h [main]include
+include/parrot/memory.h [main]include
+include/parrot/method_util.h [main]include
+include/parrot/misc.h [main]include
+include/parrot/mmd.h [main]include
+include/parrot/nci.h [main]include
+include/parrot/objects.h [main]include
+include/parrot/op.h [main]include
+include/parrot/oplib.h [main]include
+include/parrot/packfile.h [main]include
+include/parrot/parrot.h [main]include
+include/parrot/perltypes.h [main]include
+include/parrot/pic.h [main]include
+include/parrot/pmc.h [main]include
+include/parrot/pmc_freeze.h [main]include
+include/parrot/pobj.h [main]include
+include/parrot/regfuncs.h [main]include
+include/parrot/register.h [main]include
+include/parrot/resources.h [main]include
+include/parrot/runops_cores.h [main]include
+include/parrot/settings.h [main]include
+include/parrot/slice.h [main]include
+include/parrot/smallobject.h [main]include
+include/parrot/stacks.h [main]include
+include/parrot/stat.h [main]include
+include/parrot/string.h [main]include
+include/parrot/string_funcs.h [main]include
+include/parrot/string_primitives.h [main]include
+include/parrot/sub.h [main]include
+include/parrot/thr_pthread.h [main]include
+include/parrot/thr_windows.h [main]include
+include/parrot/thread.h [main]include
+include/parrot/trace.h [main]include
+include/parrot/tsq.h [main]include
+include/parrot/unicode.h [main]include
+include/parrot/vtables.h [main]include
+include/parrot/warnings.h [main]include
io/io.c []
io/io_buf.c []
io/io_layers.c []
Modified: trunk/runtime/parrot/library/PGE/Hs.pir
==============================================================================
--- trunk/runtime/parrot/library/PGE/Hs.pir (original)
+++ trunk/runtime/parrot/library/PGE/Hs.pir Fri Oct 7 14:43:12 2005
@@ -106,6 +106,43 @@ whole thing may be taken out or refactor
.return (out)
.end
+.sub unescape
+ .param string str
+ .local string ret, tmp
+ .local int i, j
+
+ ret = ""
+ j = length str
+ if j == 0 goto END
+ i = 0
+
+LOOP:
+ tmp = str[i]
+ inc i
+ if i >= j goto FIN
+
+ eq tmp, "\\", ESC
+ concat ret, tmp
+ goto LOOP
+
+ESC:
+ tmp = str[i]
+ inc i
+ eq tmp, "n", LF
+ concat ret, tmp
+ goto UNESC
+LF:
+ concat ret, "\n"
+UNESC:
+ if i >= j goto END
+ goto LOOP
+
+FIN:
+ concat ret, tmp
+END:
+ .return(ret)
+.end
+
.namespace [ "PGE::Match" ]
.sub "dump_hs" :method