X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=blobdiff_plain;f=language.i4;h=d660b272834003edd2ad31dbc295dec9ef4e2c16;hp=8857c2f22cee20f0c6c26fccd539bfa0bf6840dd;hb=ae541decab234d800211990e9f077b1aada92d06;hpb=464d71c37246e556de9ec05f7b97af834a5224ee diff --git a/language.i4 b/language.i4 index 8857c2f..d660b27 100644 --- a/language.i4 +++ b/language.i4 @@ -1,7 +1,7 @@ dnl userv - language.i4 dnl definition of the configuration language, used for tokens.h and lexer.l dnl -dnl Copyright (C)1996-1997 Ian Jackson +dnl Copyright (C)1996-1997,1999 Ian Jackson dnl dnl This is free software; you can redistribute it and/or modify it dnl under the terms of the GNU General Public License as published by @@ -146,22 +146,33 @@ isparmcondition(`glob') isparmcondition(`range') isparmcondition(`grep') + +define(`builtininlist',` +pushdef(`odiv',divnum)divert(5)dnl + `"$1$2"', +divert(odiv)popdef(`odiv')') + dnl builtin services -define(`isbuiltinservice',`wordtypelexexec(`$1',`tokt_builtinservice', - `lr_bispa= bispa_'makename(`$2')`; lr_bisexec= bisexec_'makename(`$1')`; ')') +define(`isbuiltinservice', + `wordtypelexexec(`$1',`tokt_builtinservice$3', + `lr_bispa= bispa_'makename(`$2')`; lr_bisexec= bisexec_'makename(`$1')`; $5') + builtininlist(`$1',`$4')') isbuiltinservice(`environment',`none') -isbuiltinservice(`parameter',`parameter') +isbuiltinservice(`parameter',`parameter',`',` ') isbuiltinservice(`version',`none') isbuiltinservice(`toplevel',`none') isbuiltinservice(`override',`none') +isbuiltinservice(`shutdown',`none') dnl builtin services that are also directive names define(`isdirectivebuiltinservice', - `wordtypelexexec(`$1',`tokt_directive|tokt_builtinservice$3', - `lr_dir= df_'makename(`$1')`; lr_bispa= bispa_'makename(`$2')`; lr_bisexec= bisexec_'makename(`$1')`; ')') + `isbuiltinservice(`$1',`$2',`|tokt_directive$3',`$4', + `lr_dir= df_'makename(`$1')`; ')') isdirectivebuiltinservice(`reset',`none') isdirectivebuiltinservice(`execute',`none',`|tokt_execmode') +isbuiltinservice(`help',`none') + dnl parameters define(`isparameter',`wordtypelexexec(`$1',`tokt_parameter', `lr_parameter= pf_'makename(`$1')`; ')')