From 19005581a0d35233f862e57308734d3486569bb9 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Fri, 1 May 2026 18:45:23 +0200 Subject: WIP --- meson.build | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'meson.build') diff --git a/meson.build b/meson.build index a8f4b97..aef17c8 100644 --- a/meson.build +++ b/meson.build @@ -261,6 +261,36 @@ gen_tokens = executable( ], ) +gen_syntax = executable( + 'gen_syntax', + sources: [ + 'src/gen_syntax.cc', + ], + include_directories: inc, + install : false, + dependencies : [ + args_dep, + grammar_dep, + prefix_tree_dep, + src_dep, + ], +) + +gen_ast = executable( + 'gen_ast', + sources: [ + 'src/gen_ast.cc', + ], + include_directories: inc, + install : false, + dependencies : [ + args_dep, + grammar_dep, + src_dep, + ], +) + +# Remember to update gen-ast to latest java_versions = [ 'java-8', 'java-21', @@ -271,7 +301,14 @@ java_unicode_versions = { 'java-21': '15.0.0', } +java_ast_sources = custom_target( + 'gen-ast', + input: ['data/java-21/syntax.grammar'], + output: ['java_ast.hh', 'java_ast.cc'], + command : [gen_ast, '@INPUT@', '@OUTPUT@']) + java_tokens_sources = [] +java_syntax_sources = [] foreach java_version : java_versions java_unicode_version = 'u' + java_unicode_versions[java_version].replace('.', '_') java_tokens_sources += custom_target( @@ -283,6 +320,14 @@ foreach java_version : java_versions java_version.replace('.', '_').replace('-', '_'), '--unicode', java_unicode_version, '@INPUT@', '@OUTPUT@']) + java_syntax_sources += custom_target( + 'gen-syntax-' + java_version, + input: ['data/' + java_version + '/syntax.grammar'], + output: ['java_syntax_' + java_version + '.hh', + 'java_syntax_' + java_version + '.cc'], + command : [gen_syntax, '--namespace', + java_version.replace('.', '_').replace('-', '_'), + '@INPUT@', '@OUTPUT@']) endforeach java_lib = library( @@ -292,6 +337,8 @@ java_lib = library( 'src/java_tokens.cc', 'src/java_version.hh', java_tokens_sources, + java_ast_sources, + java_syntax_sources, ], include_directories: inc, dependencies: [ -- cgit v1.3