aboutsummaryrefslogtreecommitdiffstats
path: root/bisonfix.awk
diff options
context:
space:
mode:
Diffstat (limited to 'bisonfix.awk')
-rw-r--r--bisonfix.awk18
1 files changed, 12 insertions, 6 deletions
diff --git a/bisonfix.awk b/bisonfix.awk
index ba071ef4..a759d25b 100644
--- a/bisonfix.awk
+++ b/bisonfix.awk
@@ -19,18 +19,24 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-/^#if \(! defined \(yyoverflow\) \\/ {
+BEGIN { sfile = ARGV[1] ; delete ARGV[1] }
+
+/^#if.*\\$/ {
line = $0
sub(/\\$/, "", line)
getline line2
- sub(/\\$/, "", line2)
- getline line3
-
- line = line line2 line3
+ while (line2 ~ /\\$/) {
+ line = line line2
+ sub(/\\$/, "", line)
+ getline line2
+ }
+ line = line line2
+ sub(/\\$/, "", line)
print line
next
}
-/^#line.*y\.tab\.c/ { sub(/y.tab.c/, "awkgram.c") }
+/^#line.*y\.tab\.c/ { sub(/y.tab/, sfile) }
{ print }
+