From add94f96edbf09e8a7a151e1cd901692d55e71f6 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 2 Mar 2013 01:15:13 +0200 Subject: No longer require backslash for line continuation inside an argument list. --- mparser.py | 18 ++++++++++++++---- test cases/30 pipeline/meson.build | 4 ++-- test cases/6 linkshared/meson.build | 4 +++- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/mparser.py b/mparser.py index 499381fe8..aae07d88f 100644 --- a/mparser.py +++ b/mparser.py @@ -166,14 +166,24 @@ def p_statement_expression(t): def p_args_multiple(t): - 'args : statement COMMA args' - args = t[3] + '''args : statement COMMA args + | statement COMMA EOL args + | statement EOL COMMA args''' + if len(t) == 5: + args = t[4] + else: + args = t[3] args.prepend(t[1]) t[0] = args def p_kwargs_multiple(t): - 'args : expression COLON statement COMMA args' - args = t[5] + '''args : expression COLON statement COMMA args + | expression COLON statement COMMA EOL args + | expression COLON statement EOL COMMA args''' + if len(t) == 7: + args = t[6] + else: + args = t[5] args.set_kwarg(t[1], t[3]) t[0] = args diff --git a/test cases/30 pipeline/meson.build b/test cases/30 pipeline/meson.build index 6bc2a734b..96de345eb 100644 --- a/test cases/30 pipeline/meson.build +++ b/test cases/30 pipeline/meson.build @@ -3,8 +3,8 @@ project('pipeline test', 'c') e1 = executable('srcgen', 'srcgen.c') gen = generator(e1, \ - output_name : '@BASENAME@.c', \ - arguments : ['@INPUT@', '@OUTPUT@']) # comment + output_name : '@BASENAME@.c', # Line continuation inside arguments should work without needing a "\". + arguments : ['@INPUT@', '@OUTPUT@']) generated = gen.process('input_src.dat') diff --git a/test cases/6 linkshared/meson.build b/test cases/6 linkshared/meson.build index 4dcda7232..3e646f458 100644 --- a/test cases/6 linkshared/meson.build +++ b/test cases/6 linkshared/meson.build @@ -1,5 +1,7 @@ project('shared library linking test', 'c') -lib = shared_library('mylib', 'libfile.c', install : true) +lib = shared_library('mylib', + 'libfile.c' # Split to different lines before and after the comma to test parser. + , install : true) exe = executable('prog', 'main.c', link_with : lib, install : true) add_test('runtest', exe) -- cgit v1.2.3