%default grind ;
-TOKENNAMES = tokenname.c [
+%declare tokenname.c [
gen_tokens,
cc-dest = symbol2str.c,
LL-dest = tokenfile.g
];
-DBS_LLTARGETS = {
- db_symtab.c,
- DBSpars.c,
- DBSpars.h
-} ;
-
-DBS_LLSRC = {
- db_symtab.g
-} ;
-
-CMD_LLTARGETS = {
- tokenfile.c,
- commands.c,
- Lpars.c,
- Lpars.h
-} ;
-
CMD_LLSRC = {
tokenname.c,
commands.g
} ;
-GENNEXTSRC = {
- file.h,
- next.c
-} ;
-
CSRC = {
main.c,
list.c,
$DBFLAGS
} ;
-LINTFLAGS = {
- $INCLUDES
+DBS_LLTARGETS = {
+ db_symtab.c,
+ DBSpars.c,
+ DBSpars.h
+} ;
+
+DBS_LLSRC = {
+ db_symtab.g
} ;
%cluster {
%use LLgen(prefix => DBS) ;
} ;
+LINTFLAGS = {
+ $INCLUDES
+} ;
+
%cluster {
%targets lint.out[type = lint-output];
%sources $CSRC + $CMD_LLSRC + $DBS_LLTARGETS + $HHSRC + char.ct + operators.ot ;
%cluster {
%targets grind[type = program];
- %sources $CMD_LLSRC + $CSRC + $DBS_LLTARGETS + $HHSRC + char.ct + operators.ot ;
+ %sources $CSRC + $CMD_LLSRC + $DBS_LLTARGETS + $HHSRC + char.ct + operators.ot ;
} ;
exec($cmd, args => if($verbose, {'-vvv'}, {}) + $flags + $src);
echo({'LLgen ', $src, ' done'});
};
-
%tool gen_tokens (
csrc: %in [type = C-src, gen_tokens, persistent];
tokfile: %out [type = LLgen-src] => get($csrc, LL-dest);
- symbols: %out [type = C-src, b] => get($csrc, cc-dest);
+ symbols: %out [type = C-src] => get($csrc, cc-dest);
mktok: %in [type = command] => $MAKE_TOKFILE;
mkcase: %in [type = command] => $MAKE_TOKCASE;
)