From: Mathieu Desnoyers Date: Mon, 16 May 2011 19:59:24 +0000 (-0400) Subject: Update dynamic scope explanation X-Git-Tag: v1.8~40 X-Git-Url: http://git.efficios.com/?p=ctf.git;a=commitdiff_plain;h=2e7d7fcb288895571a682e1ae3344d15578b1f55 Update dynamic scope explanation Signed-off-by: Mathieu Desnoyers --- diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index ff48de9..238fbad 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -936,7 +936,8 @@ in Section 7.3. TSDL uses two different types of scoping: a lexical scope is used for declarations and type definitions, and a dynamic scope is used for -variants references to tag fields. +variants references to tag fields and for sequence references to length +fields. 7.3.1 Lexical Scope @@ -953,16 +954,17 @@ typedef or typealias is allowed within a sub-scope. A dynamic scope consists in the lexical scope augmented with the implicit event structure definition hierarchy presented at Section 6. -The dynamic scope is only used for variant tag definitions. It is used -at definition time to look up the location of the tag field associated -with a variant. - -Therefore, variants in lower levels in the dynamic scope (e.g. event -context) can refer to a tag field located in upper levels (e.g. in the -event header) by specifying, in this case, the associated tag with -. This allows, for instance, the event context to -define a variant referring to the "id" field of the event header as -selector. +The dynamic scope is used for variant tag and sequence length +definitions. It is used at definition time to look up the location of +the tag field associated with a variant, and to lookup up the location +of the length field associated with a sequence. + +Therefore, variants (or sequences) in lower levels in the dynamic scope +(e.g. event context) can refer to a tag (or length) field located in +upper levels (e.g. in the event header) by specifying, in this case, the +associated tag with . This allows, for instance, the +event context to define a variant referring to the "id" field of the +event header as selector. The target dynamic scope must be specified explicitly when referring to a field outside of the local static scope. The dynamic scope prefixes