[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
I would make the following point: if we add to your list the condition that:
"strings which have no meaning beyond their significance as tokens are not required to be separated by whitespace from the preceding or succeeding strings"
we remove the requirement for whitespace around brackets, commas and 'loop_'. Of course, insofar as strings neighbouring these will require whitespace around them, this does not spoil our grammar at all. (Note that in lexing/parsing terms, the condition that "strings are only significant as tokens" is supposed to be equivalent to discarding the 'value' assigned to a token when it is returned by the lexing stage.)
The insight I'd draw out of this for our current discussion is that, by taking your manifesto plus my above condition, we have a general statement of what we would like the surface syntax of a CIF file to look like. The only difference from our current discussion is that we have restricted the charactersets of the non-delimited string and dataname tag more than strictly necessary - is there some part of that characterset discussion that you'd like to reopen...in a different thread?
--
T +61 (02) 9717 9907
F +61 (02) 9717 3145
M +61 (04) 0249 4148
Reply to: [list | sender only]
Re: [ddlm-group] Space as a list item separator
- To: Group finalising DDLm and associated dictionaries <ddlm-group@iucr.org>
- Subject: Re: [ddlm-group] Space as a list item separator
- From: James Hester <jamesrhester@gmail.com>
- Date: Mon, 30 Nov 2009 12:39:59 +1100
- In-Reply-To: <455583.44145.qm@web87005.mail.ird.yahoo.com>
- References: <C735A4E4.12669%nick@csse.uwa.edu.au><773849.42639.qm@web87014.mail.ird.yahoo.com><alpine.BSF.2.00.0911270628060.81324@epsilon.pair.com><434207.86524.qm@web87015.mail.ird.yahoo.com><183781.58939.qm@web87001.mail.ird.yahoo.com><279aad2a0911281945v4a7a3b37tf39ca4b45baf3478@mail.gmail.com><455583.44145.qm@web87005.mail.ird.yahoo.com>
I would make the following point: if we add to your list the condition that:
"strings which have no meaning beyond their significance as tokens are not required to be separated by whitespace from the preceding or succeeding strings"
we remove the requirement for whitespace around brackets, commas and 'loop_'. Of course, insofar as strings neighbouring these will require whitespace around them, this does not spoil our grammar at all. (Note that in lexing/parsing terms, the condition that "strings are only significant as tokens" is supposed to be equivalent to discarding the 'value' assigned to a token when it is returned by the lexing stage.)
The insight I'd draw out of this for our current discussion is that, by taking your manifesto plus my above condition, we have a general statement of what we would like the surface syntax of a CIF file to look like. The only difference from our current discussion is that we have restricted the charactersets of the non-delimited string and dataname tag more than strictly necessary - is there some part of that characterset discussion that you'd like to reopen...in a different thread?
On Sun, Nov 29, 2009 at 9:29 PM, SIMON WESTRIP <simonwestrip@btinternet.com> wrote:
Yes that summarizes the differences. Unfortunately, the single-byte non-delimited strings have to be separated by
white space in this approach, which is perhaps counter-intuitive and mght have some legacy issues?
From: James Hester <jamesrhester@gmail.com>Sent: Sunday, 29 November, 2009 3:45:18
Subject: Re: [ddlm-group] Space as a list item separator
Hi Simon: I'm trying to read between the lines here as to how the syntax we have been discussing diverges from what you have described, and have come up with the following list:
1. Presumably the []{} characters must be surrounded by whitespace in your version
2. We have restricted the character sets of the non-delimited strings and tags more than strictly necessary.
3. Comma might be included in the single-byte non-delimited string list
Are there any other differences that you would identify?
On Sat, Nov 28, 2009 at 10:58 PM, SIMON WESTRIP <simonwestrip@btinternet.com> wrote:
Dear all
I was chatting with the man who 'writes the cheques' yesterday about some of the
changes he might expect with CIF2, and based on this I feel I ought to at least have
a go at exploring a 'minimally disruptive' approach, so at the risk of being shouted at,
here goes at a slightly different way of looking at CIF:
CIF contains a list of strings separated by whitespace.
A string can be nondelimited or delimited.
Nondelimited strings have a restricted character set (minimally whitespace is excluded)
A nondelimited string cannot start with any of the delimiters (obviously)
Nondelimited strings can have special meaning governing what follows them:
reserved words, e.g. loop_
tags, e.g. data_ , _foo
single-byte nondelimited strings, e.g. [ ] { } :
All other strings are treated as raw data values
There, least I can say I tried :-)
Cheers
Simon
--
T +61 (02) 9717 9907
F +61 (02) 9717 3145
M +61 (04) 0249 4148
_______________________________________________ ddlm-group mailing list ddlm-group@iucr.org http://scripts.iucr.org/mailman/listinfo/ddlm-group
Reply to: [list | sender only]
- Follow-Ups:
- Re: [ddlm-group] Space as a list item separator (SIMON WESTRIP)
- Re: [ddlm-group] Space as a list item separator (Herbert J. Bernstein)
- References:
- Re: [ddlm-group] Space as a list item separator (Nick Spadaccini)
- Re: [ddlm-group] Space as a list item separator (SIMON WESTRIP)
- Re: [ddlm-group] Space as a list item separator (Herbert J. Bernstein)
- Re: [ddlm-group] Space as a list item separator (SIMON WESTRIP)
- Re: [ddlm-group] Space as a list item separator (SIMON WESTRIP)
- Re: [ddlm-group] Space as a list item separator (James Hester)
- Re: [ddlm-group] Space as a list item separator (SIMON WESTRIP)
- Prev by Date: Re: [ddlm-group] Space as a list item separator
- Next by Date: Re: [ddlm-group] Space as a list item separator
- Prev by thread: Re: [ddlm-group] Space as a list item separator
- Next by thread: Re: [ddlm-group] Space as a list item separator
- Index(es):