diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0d20b64 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc diff --git a/bin/ophis b/bin/ophis new file mode 100755 index 0000000..959855a --- /dev/null +++ b/bin/ophis @@ -0,0 +1,3 @@ +#!/bin/sh + +python $HOME/checkout/git/Ophis/src/ophismain.py $* diff --git a/src/Ophis/CorePragmas.py b/src/Ophis/CorePragmas.py index f4737f5..3fcb334 100644 --- a/src/Ophis/CorePragmas.py +++ b/src/Ophis/CorePragmas.py @@ -43,9 +43,13 @@ def pragmaIncbin(ppt, line, result): filename = line.expect("STRING").value line.expect("EOL") if type(filename)==str: - f = file(filename, "rb") - bytes = f.read() - f.close() + try: + f = file(filename, "rb") + bytes = f.read() + f.close() + except IOError: + Err.log ("Could not read "+filename) + return bytes = [IR.ConstantExpr(ord(x)) for x in bytes] result.append(IR.Node(ppt, "Byte", *bytes)) @@ -72,9 +76,13 @@ def pragmaCharmapbin(ppt, line, result): filename = line.expect("STRING").value line.expect("EOL") if type(filename)==str: - f = file(filename, "rb") - bytes = f.read() - f.close() + try: + f = file(filename, "rb") + bytes = f.read() + f.close() + except IOError: + Err.log ("Could not read "+filename) + return if len(bytes)==256: currentcharmap = bytes else: