Front page | perl.cvs.parrot |
Postings from January 2009
[svn:parrot] r35020 - trunk/languages/befunge
From:
jquelin
Date:
January 6, 2009 03:56
Subject:
[svn:parrot] r35020 - trunk/languages/befunge
Message ID:
20090106115619.AE86CCB9F9@x12.develooper.com
Author: jquelin
Date: Tue Jan 6 03:56:18 2009
New Revision: 35020
Modified:
trunk/languages/befunge/befunge.pir
Log:
basic argv parsing
Modified: trunk/languages/befunge/befunge.pir
==============================================================================
--- trunk/languages/befunge/befunge.pir (original)
+++ trunk/languages/befunge/befunge.pir Tue Jan 6 03:56:18 2009
@@ -12,30 +12,41 @@
=cut
.sub "befunge" :main
+ .param pmc argv
+
+ .local int i, debug
+ .local string arg, char
print "befunge being ported to a working state...\n"
-=pod
+ # disable buffering on stdout
+ #getstdout stdout
+ #pioctl I10, P10, 3, 0
- get_params "(0)", P5 # get @ARGV as a ResizableStringArray
+ i = 0
+ debug = 0
-MAIN:
- getstdout P10
- pioctl I10, P10, 3, 0 # disable buffering on stdout
- set I0, 0
- set I5, 0 # debug mode
ARGV_NEXT:
- inc I0
- set S10, P5[I0]
- substr S11, S10, 0, 1
- ne S11, "-", ARGV_DONE
- eq S10, "-d", ARGV_DEBUG
- branch ARGV_NEXT
+ inc i
+ arg = argv[i]
+ char = substr arg, 0, 1
+ ne char, "-", ARGV_DONE
+ #eq arg, "-d", ARGV_DEBUG
+ branch ARGV_NEXT
+
+=pod
+
ARGV_DEBUG:
inc I5
bsr DEBUG_INITIALIZE # initialize P3
branch ARGV_NEXT
+
+=cut
+
ARGV_DONE:
+
+=pod
+
set S10, P5[I0]
save S10
bsr LOAD
@@ -49,6 +60,8 @@
mod N0, N0, .RANDMAX
set S2, "" # S2 = user input
+=pod
+
TICK:
set I20, P1[I1;I0]
chr S0, I20 # S0 = current instruction
@@ -131,5 +144,5 @@
MAIN_END:
end
-
.end
+
-
[svn:parrot] r35020 - trunk/languages/befunge
by jquelin