Handle ASCII strings

This commit is contained in:
Piotr Wiszowaty 2014-09-20 22:18:22 +02:00
parent 259dc66d0e
commit a19478a816
2 changed files with 8 additions and 4 deletions

View File

@ -149,7 +149,7 @@ Allocate Atari XL/XE Antic string:
`'` _text_`'`
Allocate counted ASCII string:
Allocate ASCII string:
`"` _text_`"`

10
foco65
View File

@ -563,15 +563,19 @@ class Forth:
item = Code("\n dta %d" % self.pop(token), self.data_section)
self.items.append(item)
def parse_comma_doublequote(self):
# allocate ASCII counted string
def parse_comma_doublequote(self, counted):
# allocate ASCII string
self.input.mark_start()
while True:
token = self.next()
if token.endswith('"'):
self.input.mark_end()
text = self.input.marked()[1:-1]
item = Code("\n dta %d,c'%s'" % (len(text), text), self.data_section)
if counted:
count = "%d," % len(text)
else:
count = ""
item = Code("\n dta %sc'%s'" % (count, text), self.data_section)
self.items.append(item)
break