1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-10-18 22:24:28 +00:00

Increase global symbol table size and parse '\\' properly

This commit is contained in:
David Schmenk 2018-01-15 15:31:03 -08:00
parent 766c8c320e
commit 5e07a45d6e
3 changed files with 9 additions and 4 deletions

View File

@ -484,7 +484,7 @@ def init_idglobal#0
if isult(heapavail, $4000)
tag_num = TAGNUM/2
fixup_num = FIXUPNUM/2
globalbufsz = IDGLOBALSZ/2
globalbufsz = IDGLOBALSZ/4
localbufsz = IDLOCALSZ/2
fin
tag_addr = heapalloc(tag_num*2)
@ -546,7 +546,7 @@ def new_moddep(nameptr, len)#0
memcpy(@moddep_tbl[moddep_cnt*16] + 1, nameptr, len)
moddep_tbl[moddep_cnt*16] = len
moddep_cnt++
if moddep_cnt > 8; parse_warn("Module dependency overflow"); fin
if moddep_cnt > MODDEPNUM; parse_warn("Module dependency overflow"); fin
end
//
// Generate/add to a sequence of code

View File

@ -155,6 +155,8 @@ def scan
is 't'
is 'T'
constval = $09; break
is '\\'
constval = '\\'; break
otherwise
constval = scannum
scanptr--
@ -187,6 +189,8 @@ def scan
is 't'
is 'T'
^strconstptr = $09; break
is '\\'
^strconstptr = '\\'; break
otherwise
^strconstptr = scannum
scanptr--

View File

@ -238,7 +238,8 @@ end
const OPSEQNUM = 256
const TAGNUM = 1024
const FIXUPNUM = 2048
const IDGLOBALSZ = 2048
const MODDEPNUM = 8
const IDGLOBALSZ = 4096
const IDLOCALSZ = 512
word fixup_cnt, tag_cnt = -1
word fixup_tag, fixup_addr
@ -251,7 +252,7 @@ word datasize, framesize, savesize
byte locals, savelocals
word codebuff, codeptr, entrypoint
word modsysflags
byte[16] moddep_tbl[8]
byte[16] moddep_tbl[MODDEPNUM]
byte moddep_cnt, def_cnt = 1
predef emit_pending_seq#0
//