Greg Banks <[EMAIL PROTECTED]>:
> 1.  At kernel-tree/drivers/block/rules.cml:143, an decimal symbol
>     BLK_DEV_RAM_SIZE% appears to be used as the guard for a subtree.
>     Is this supposed to be legal?  The Reference doesn't say
>     but in the example the guard is a boolean.  I have assumed that
>     only bools and trits can be subtree guards, is this correct?

No.  I've added this to the Reference:

<para>Normally, a symbol used as a sub-menu guard will be a bool or trit.
They are also permitted to be numeric, in which case value zero is considered
equivalent to boolean <constant>n</constant> and all other values are 
considered equivalent to boolean <constant>y</constant>.</para>

As an accident of implementation, strings are also permitted as guards with
"" being treated as y and everything else as n.  But I don't think I want
anyone to know that :-).

> 2.  The Reference does not specify the "nohelp" condition.
> 
> 3.  The Reference does not specify the ?: trinary operator,
>     including its syntax and operator precedence.

That's odd.  I wonder if your Reference copy is out of date somehow?
These have been explained in the master for a while -- although you
did cause me to realize that I hadn't added ?: to the precedence table?
 
> 4.  In at least two different places the following happens.
> 
>     derive FOO from n
>     unless FOO suppress BAR BAZ
>     
>     Is the type of FOO (derived by the parser) bool or trit?

Astute question!  The derived type is bool.

The reason I have not documented this is that one of the items on
my to-do list is getting rid of type derivation.  The only thing it's
used for is controlling print formats in config.out.  In some 
future release I'm going to hack eval so that it always returns 
either a recognizable primitive type like integer or a result object
instance with its own print-me method.  At that point I won't need
derived symbols to be typed any more because the formatter can
just say "print yourself" to the evaluation result.

>   Also, I found some small problems with the CML2 corpus which
> I've fixed in the attached patch against 1.2.3.  In summary:
> 
> -  spurious "symbols" statement (legal but wasteful)
> -  commented out symbol "TUNING" which is not used anywhere
> -  some } balancing problems - intent guessed from indent
> -  menu "x86" used instead of symbol "X86"
> -  apparently spurious {} pair in drivers/fc4/rules.cml

I took this patch, thanks.
-- 
                <a href="http://www.tuxedo.org/~esr/";>Eric S. Raymond</a>

..every Man has a Property in his own Person. This no Body has any
Right to but himself.  The Labour of his Body, and the Work of his
Hands, we may say, are properly his. .... The great and chief end
therefore, of Mens uniting into Commonwealths, and putting themselves
under Government, is the Preservation of their Property.
        -- John Locke, "A Treatise Concerning Civil Government"

_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel

Reply via email to