Merge pull request #1 from catseye/master

Fix misleading error message from .incbin and .charmapbin pragmas, add some bookkeeping
This commit is contained in:
Michael C. Martin 2011-12-17 19:34:01 -08:00
commit 00f8586be9
3 changed files with 18 additions and 6 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.pyc

3
bin/ophis Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
python $HOME/checkout/git/Ophis/src/ophismain.py $*

View File

@ -43,9 +43,13 @@ def pragmaIncbin(ppt, line, result):
filename = line.expect("STRING").value filename = line.expect("STRING").value
line.expect("EOL") line.expect("EOL")
if type(filename)==str: if type(filename)==str:
f = file(filename, "rb") try:
bytes = f.read() f = file(filename, "rb")
f.close() bytes = f.read()
f.close()
except IOError:
Err.log ("Could not read "+filename)
return
bytes = [IR.ConstantExpr(ord(x)) for x in bytes] bytes = [IR.ConstantExpr(ord(x)) for x in bytes]
result.append(IR.Node(ppt, "Byte", *bytes)) result.append(IR.Node(ppt, "Byte", *bytes))
@ -72,9 +76,13 @@ def pragmaCharmapbin(ppt, line, result):
filename = line.expect("STRING").value filename = line.expect("STRING").value
line.expect("EOL") line.expect("EOL")
if type(filename)==str: if type(filename)==str:
f = file(filename, "rb") try:
bytes = f.read() f = file(filename, "rb")
f.close() bytes = f.read()
f.close()
except IOError:
Err.log ("Could not read "+filename)
return
if len(bytes)==256: if len(bytes)==256:
currentcharmap = bytes currentcharmap = bytes
else: else: