parser: drop sed and use perl
[nit.git] / src / parser / Makefile
index 362d6a5..5115297 100644 (file)
@@ -25,10 +25,12 @@ all: parser.nit
 # Note that parser_nodes is no more automatically synced with the grammar
 parser.nit: .nit.sablecc3 xss/*.xss
        ${SABLECC} -c .nit.sablecc3.dump -t xss/main.xss -p usermodule parser_nodes .nit.sablecc3
-       LANG=C sed -i -e 's/\([ \[]\)P\([A-Z]\)/\1A\2/g' parser.nit parser_abs.nit parser_prod.nit parser_tables.nit lexer.nit
+       mv -f -- parser.nit .parser-nofact.nit
+       ./fact_parser.pl .parser-nofact.nit > parser.nit
+       perl -np -i.orig -e 's/([ \[])P([A-Z])/\1A\2/g' parser.nit parser_abs.nit parser_prod.nit lexer.nit
 
 clean:
-       rm -f -- .nit.sablecc3 .nit.sablecc3.dump || true
+       rm -f -- .nit.sablecc3 .nit.sablecc3.dump .parser-nofact.nit || true
 
 dist-clean: clean
-       rm -f -- parser.nit parser_abs.nit parser_prod.nit parser_tables.nit lexer.nit || true
+       rm -f -- parser.nit parser_abs.nit parser_prod.nit lexer.nit || true