aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mparser.py18
-rw-r--r--test cases/30 pipeline/meson.build4
-rw-r--r--test cases/6 linkshared/meson.build4
3 files changed, 19 insertions, 7 deletions
diff --git a/mparser.py b/mparser.py
index 499381f..aae07d8 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 6bc2a73..96de345 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 4dcda72..3e646f4 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)