From e88617a0657f86999476521d3687f89743efd234 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Tue, 17 Jun 2014 21:28:20 +0900 Subject: [PATCH 1/2] ignore shebang (#134) --- src/scan.l | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/scan.l b/src/scan.l index c3d9b1b8..747f31a7 100644 --- a/src/scan.l +++ b/src/scan.l @@ -33,6 +33,9 @@ %option extra-type="struct parser_control *" %option never-interactive + /* shebang */ +shebang #!.*$ + /* comment */ comment ;.*$ @@ -71,6 +74,7 @@ label #{uinteger} [ \t\n\r] /* skip whitespace */ {comment} /* skip comment */ +{shebang} /* skip shebang */ "#|" { BEGIN(BLOCK_COMMENT); From e013cfd291d35937f6a145b2a88c250edaa05248 Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Tue, 17 Jun 2014 21:28:33 +0900 Subject: [PATCH 2/2] add shebang test case --- t/shebang.scm | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100755 t/shebang.scm diff --git a/t/shebang.scm b/t/shebang.scm new file mode 100755 index 00000000..3200aacf --- /dev/null +++ b/t/shebang.scm @@ -0,0 +1,9 @@ +#! /bin/sh +#| -*- scheme -*- +exec picrin $0 "$@" +|# + +(import (scheme base) + (scheme write)) + +(write (list 1 2 3))