Eric S. Raymond wrote:
>
> The latest version is always available at http://www.tuxedo.org/~esr/cml2/
>
> Release 1.2.3: Mon Apr 23 00:57:39 EDT 2001
G'day
Here are some questions I came across while upgrading gcml2's
parser to language 1.2.0 standard.
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?
2. The Reference does not specify the "nohelp" condition.
3. The Reference does not specify the ?: trinary operator,
including its syntax and operator precedence.
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?
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
diff -ruN --exclude-from=cml2.excludes cml2-1.2.3.orig/kernel-tree/arch/cris/rules.cml
cml2-1.2.3.fixed/kernel-tree/arch/cris/rules.cml
--- cml2-1.2.3.orig/kernel-tree/arch/cris/rules.cml Mon Apr 23 17:04:34 2001
+++ cml2-1.2.3.fixed/kernel-tree/arch/cris/rules.cml Mon Apr 23 20:15:22 2001
@@ -166,6 +166,7 @@
ETRAX_SYNCHRONOUS_SERIAL_PORT1 {
ETRAX_SYNCHRONOUS_SERIAL1_DMA
}
+ }
require ETRAX_SER0_DTR_RI_DSR_CD_ON_PB==n or ETRAX_SER1_DTR_RI_DSR_CD_ON_PB==n
explanation crisconflict_complaint
diff -ruN --exclude-from=cml2.excludes cml2-1.2.3.orig/kernel-tree/arch/i386/rules.cml
cml2-1.2.3.fixed/kernel-tree/arch/i386/rules.cml
--- cml2-1.2.3.orig/kernel-tree/arch/i386/rules.cml Mon Apr 23 17:04:34 2001
+++ cml2-1.2.3.fixed/kernel-tree/arch/i386/rules.cml Mon Apr 23 20:14:09 2001
@@ -57,7 +57,7 @@
derive X86_IO_APIC from X86 and X86_UP_IOAPIC or SMP or VISWS
derive X86_LOCAL_APIC from X86 and X86_UP_IOAPIC or SMP or VISWS
-derive X86_VISWS_APIC from x86 and VISWS
+derive X86_VISWS_APIC from X86 and VISWS
derive X86_XADD from X86 and M386==n
# There are PCI-only machines out there, but as of 2.40-test1 I'm told
diff -ruN --exclude-from=cml2.excludes cml2-1.2.3.orig/kernel-tree/arch/ia64/rules.cml
cml2-1.2.3.fixed/kernel-tree/arch/ia64/rules.cml
--- cml2-1.2.3.orig/kernel-tree/arch/ia64/rules.cml Mon Apr 23 17:04:34 2001
+++ cml2-1.2.3.fixed/kernel-tree/arch/ia64/rules.cml Mon Apr 23 20:15:39 2001
@@ -44,7 +44,7 @@
ITANIUM_CSTEP_SPECIFIC {
ITANIUM_C0_SPECIFIC
}
- MCKINLEY_ASTEP_SPECIFIC {MCKINLEY_A0_SPECIFIC}}
+ MCKINLEY_ASTEP_SPECIFIC {MCKINLEY_A0_SPECIFIC}
IA64_HAVE_IRQREDIR
#IA64_SOFTSDV_HACKS IA64_AZUSA_HACKS IA64_FW_EMU IA64_IRQ_ACPI
IA64_MCA ACPI20 ACPI_KERNEL_CONFIG
diff -ruN --exclude-from=cml2.excludes
cml2-1.2.3.orig/kernel-tree/drivers/fc4/rules.cml
cml2-1.2.3.fixed/kernel-tree/drivers/fc4/rules.cml
--- cml2-1.2.3.orig/kernel-tree/drivers/fc4/rules.cml Mon Apr 23 17:04:34 2001
+++ cml2-1.2.3.fixed/kernel-tree/drivers/fc4/rules.cml Mon Apr 23 20:15:59 2001
@@ -2,7 +2,7 @@
menu fc4 # Fiber Channel support
fc4_drivers_legend
- {FC4_SOC? FC4_SOCAL?}
+ FC4_SOC? FC4_SOCAL?
fc4_targets_legend
SCSI_PLUTO? SCSI_FCAL_SUN? SCSI_FCAL_GENERIC?
diff -ruN --exclude-from=cml2.excludes cml2-1.2.3.orig/kernel-tree/rules.cml
cml2-1.2.3.fixed/kernel-tree/rules.cml
--- cml2-1.2.3.orig/kernel-tree/rules.cml Mon Apr 23 17:04:33 2001
+++ cml2-1.2.3.fixed/kernel-tree/rules.cml Mon Apr 23 20:14:48 2001
@@ -4,7 +4,7 @@
# Configuration symbols and helpfile. In 2.5 these will merge,
# then probably be distributed back out to the directories
-symbols source "symbols.cml"
+source "symbols.cml"
helpfile "Documentation/Configure.help"
start main # Start with the menu named 'main'
@@ -240,10 +240,10 @@
#unless EXPERIMENTAL==n suppress OBSOLETE
#require EXPERIMENTAL implies OBSOLETE==y
-private EXPERT WIZARD TUNING
+private EXPERT WIZARD #TUNING
menu policy # Build policy options
- EXPERIMENTAL OBSOLETE EXPERT WIZARD TUNING
+ EXPERIMENTAL OBSOLETE EXPERT WIZARD #TUNING
require WIZARD implies EXPERT
diff -ruN --exclude-from=cml2.excludes cml2-1.2.3.orig/kernel-tree/symbols.cml
cml2-1.2.3.fixed/kernel-tree/symbols.cml
--- cml2-1.2.3.orig/kernel-tree/symbols.cml Mon Apr 23 17:04:33 2001
+++ cml2-1.2.3.fixed/kernel-tree/symbols.cml Mon Apr 23 20:15:00 2001
@@ -7,7 +7,7 @@
OBSOLETE 'Prompt for drivers for obsolete features and hardware'
EXPERT 'Prompt for expert choices (those with no help attached)'
WIZARD 'Prompt for features that require kernel source changes.'
-TUNING 'Prompt for performance tweaks'
+# TUNING 'Prompt for performance tweaks'
#
# Platform-independent questions
MODULES 'Enable loadable module support'
Greg.
--
These are my opinions not PPIs.
_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel