meson.build

Mon, 01 Sep 2025 00:14:59 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Mon, 01 Sep 2025 00:14:59 +0800
changeset 0
59c92fa19678
permissions
-rw-r--r--

Initial Lexer/Parser

project('tlvc', 'c',
        version : '0.1',
        default_options : ['warning_level=3'])

flex = find_program('flex')
bison = find_program('bison')

lexer = generator(
  flex,
  output : [ '@BASENAME@.yy.c', '@BASENAME@.yy.h' ],
  arguments : [
    '--outfile=@OUTPUT0@',
    '--header-file=@OUTPUT1@',
    '@INPUT@'
  ]
)

parser = generator(
  bison,
  output : [ '@BASENAME@.tab.c', '@BASENAME@.tab.h' ],
  arguments : [
    '-d', '@INPUT@', '-v',
    '--output=@OUTPUT0@',
    '--defines=@OUTPUT1@'
  ]
)

parser_src = parser.process('tlvc.y')
lexer_src = lexer.process('tlvc.l')

SOURCES = [
  'tlvc.c',
  parser_src,
  lexer_src, 
]

exe = executable('tlvc', SOURCES,
                 include_directories : include_directories('.'),
                 install : true)

test('basic', exe)

mercurial