diff --git a/main.cpp b/main.cpp index 9375254..40f0c12 100644 --- a/main.cpp +++ b/main.cpp @@ -133,7 +133,8 @@ int main(int argc, char **argv) { case 'X': express = false; break; case 'C': compress = false; break; case 'D': add_define(optarg); break; - case 'v': verbose = true; + case 'v': verbose = true; break; + case 'S': script = true; break; case ':': case '?': default: @@ -145,8 +146,7 @@ int main(int argc, char **argv) { argv += optind; argc -= optind; - if (!argc) usage(EX_USAGE); - + if (!script && !argc) usage(EX_USAGE); if (script && argc > 1) usage(EX_USAGE); if (argc == 1 && is_S(*argv)) script = true; diff --git a/script.re2c b/script.re2c index d7e3706..e9dc1f5 100644 --- a/script.re2c +++ b/script.re2c @@ -507,7 +507,7 @@ operand: void evaluate(label_t label, opcode_t opcode, operand_t operand); - evaluate(label, opcode, opcode); + evaluate(label, opcode, operand); }