Phone Conference P1450.1 Working Doc Subgroup
Thurs, Feb 24, 2005, 10:00 am PST
Attendees:
Tony Taylor (chair)
Greg Maston (scribe)
John Cosley
Gordon Robinson
Doug Sprague
Bruce Kaufmann
Tom Bartlestein
Documents
Agenda
1. Gordon Robinson's issue wrt
delimiters
A: Make delimiters completely optional - to make the rule simple
B: Require delimiters in certain context - to make parsing more
efficient
2. Re-write of sub-clause 5.5 (enclosed in email)
This is a significant re-write of this sub-clause based on
suggestion by Don Organ, who provided the initial cut at this new
presentation.
3. Open issues
Meeting discussion
IEEE meeting clearances
Nothing under discussion or presentation for this meeting
was identified as being proprietary or restricted.
1. Expression Delimiters
Gordon stated his position to make single-tic delimiters be optional. John
Cosley identified the issue with \r... which requires a space to delimit
constructs, which is confusing because expressions may also contain spaces.
Bruce identified that variable/constant names could be named LLH, which makes
for at least confusing interpretation contexts. Tom identified a concern about
invested work in existing parsers, and that the cost of making these constructs
optional may be very high. Bruce identified that error detection is near
impossible during parse-time in these situations, causing errors to be deferred
to later in the process which is aggrevating to customers using these tools.
Tony identified the concern of optional expression delimiters as 'simplicity vs
ease of parsing'. AI1 to Tom, John, Bruce, Greg, Doug and anyone else with
concerns, to review the existing parser support and scope broadly the impact of
this change, to determine if there is such a large infrastructure cost on this
change as to make it prohibitive.
2. section 5.5
Gordon voiced concern that table 1 'primitive terms' is too large a set, for
instance '+' and '-' shouldn't be here. This resulted in several areas of
discussion:
Confusion with the examples of
'integer', in particular 5.0 and 1.066e3, especially in regards to 'reals'.
While these values may be interpreted as integer values, the constructs
themselves represent real numbers and should be identified as such, with a
mechanism to interpret/cast them to integers in context. [AI2] tony remove these
definitions as examples of integers.
Are sigref_expressions truly primitive terms, or something resolved by
expression processor? The potential complexity of these expressions, and the use
of operators in these constructs (+,-, []) indicated to the Working Group that
the use of these operators needs to be identified in table 3, and at least the
sigref groups should be removed from table 1. [AI3] to tony.
Also Gordon raised concern that ':' is potentially ambiguous in expressions - is
it a name delimiter or a conditional expression operator? Tony took [AI4] to
review and consider the ambiguity.
In regards to sigref_expressions, the [ ] operator was reviewed. Current
understanding... or perhaps perception... is that there are two operators in
this construct, .. and space. Bruce identified that the use of spaces to create
lists is not obviously defined in the current spec. [AI5] to tony to review.
However, the use of space as an
operator in this context is of concern in the context of expressions, as the
current definition of dot1 extensions is intended to allow replacement of
literal numeric values with at least constants, possibly constant expressions,
and possibly variable expressions. As expressions contain space, there is an
ambiguity here with the use of space as a set-operator. This raised the notion
of using commas here to delimit list-values. {AI6] Tony again will consider the
comma operator in lists.
Finally this created a long discussion about "constants", and whether they ever
really are in STIL. Because constants are declared in Variable blocks, which may
be named, the value of the constant cannot be determined until the complete
resolved context of a pattern has been established. This means that these
constructs are not resolvable until very late in the processing (to resurrect a
user-issue previously identified). But even more it limits the interpretation of
all things until the selection of "constants" is established. This was
not the intent of this feature, as there is really no differentiation between a
constant expression and a variable expression at this point.
The Working Group discussed the requirement to change the semantics of the
unnamed, global Variable block, to contain elements, potentially all constructs
supported here, that are allowed to be defined only once. In this way, these
definitions cannot be replaced by 'local' named definitions. This allows these
declarations to be applied as compile / parse -time values - at least for the
constants - which allows at least a mechanism to create true constants and
constant expressions from these declarations. [AI7] to tony to define this
behavior.
John raised two points about table3 -
-. Use of sigref with operators. This doesn't make sense because these
references don't currently have logical behavior defined with them, and/or the
expressions created don't have a time. This is confusing in this context. The
request is for a set of logic interpretation rules for sigrefs to be defined.
-. John raised a question about the lack of a shift operator. Greg indicated
that we don't have a user requesting this construct at this time, no
identification of a requirement for such an operation. If such a requirement is
identified then we should define the operator but at this point if it's not
needed, don't include it.
3. open issues:
integer-to-wfc, wfc-to-integer
Tony identified that \d is a better solution to this issue.
John agreed that this is a better syntax.
Meeting ended at 11:23
Next meeting
Next meeting in two weeks, Mar 10, 10 am PST.
AIs (old)
Tony - create a new D22 and make the changes agreed to on 1/14 and 1/27.
Tony - make adjustments to the document wrt "type safe" issue discussed on 1/27
Rohit - discuss with Jason Doege the P1500 definition for complex scan cells and see if they can define a better way to represent these cells in 1450.1.
Tony - make changes to Table 5 per Don's suggestion to clarify the content of expressions
WG - re-visit the integer-wfc mapping issue described above
Tony - review and make changes per GR1..10 above.
AIs (new)
[AI1] tom,john,bruce,greg,doug review existing parser support in consideration
of impact of optional single-tics around expressions.
[AI2] tony review table 1 integer/real definitions.
[AI3] tony remove sigref groups from table 1, add sigref operators in table 3.
[AI4] tony review colon ambiguity.
[AI5] tony review definition of space as list-generator in []
[AI6] tony consider use of comma as list-generator in []
[AI7] tony unnamed variable block creates single-definition constructs.