# List of source files containing translatable strings.
# To update, try "find . -name \*.c | xargs grep -c _\( | grep -v :0 | sort"
# Copyright (c) 2001  Peter Johnson
#
# $Id$

frontends/yasm/yasm-options.c
frontends/yasm/yasm.c
lc3bid.c
libyasm/bitvect.c
libyasm/bytecode.c
libyasm/errwarn.c
libyasm/expr.c
libyasm/floatnum.c
libyasm/hamt.c
libyasm/intnum.c
libyasm/linemgr.c
libyasm/section.c
libyasm/symrec.c
libyasm/xmalloc.c
modules/arch/lc3b/lc3barch.c
modules/arch/lc3b/lc3bbc.c
modules/arch/x86/x86arch.c
modules/arch/x86/x86bc.c
modules/arch/x86/x86expr.c
modules/objfmts/bin/bin-objfmt.c
modules/objfmts/coff/coff-objfmt.c
modules/objfmts/dbg/dbg-objfmt.c
modules/optimizers/basic/basic-optimizer.c
modules/preprocs/nasm/nasm-pp.c
modules/preprocs/nasm/nasm-preproc.c
modules/preprocs/raw/raw-preproc.c
nasm-bison.c
nasm-token.c
x86id.c
