|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jmol.adapter.readers.cifpdb.CifReader.RidiculousFileFormatTokenizer
class CifReader.RidiculousFileFormatTokenizer
A special tokenizer class for dealing with quoted strings in CIF files.
regarding the treatment of single quotes vs. primes in cif file, PMR wrote:
* There is a formal grammar for CIF (see http://www.iucr.org/iucr-top/cif/index.html) which confirms this. The textual explanation is
14. Matching single or double quote characters (' or ") may be used to bound a string representing a non-simple data value provided the string does not extend over more than one line.
15. Because data values are invariably separated from other
tokens in the file by white space, such a quote-delimited
character string may contain instances of the character used
to delimit the string provided they are not followed by white
space. For example, the data item
_example 'a dog's life'
is legal; the data value is a dog's life.
[PMR - the terminating character(s) are quote+whitespace.
That would mean that:
_example 'Jones' life'
would be an error
The CIF format was developed in that late 1980's under the aegis of the International Union of Crystallography (I am a consultant to the COMCIFs committee). It was ratified by the Union and there have been several workshops. mmCIF is an extension of CIF which includes a relational structure. The formal publications are:
Hall, S. R. (1991). "The STAR File: A New Format for Electronic Data Transfer and Archiving", J. Chem. Inform. Comp. Sci., 31, 326-333. Hall, S. R., Allen, F. H. and Brown, I. D. (1991). "The Crystallographic Information File (CIF): A New Standard Archive File for Crystallography", Acta Cryst., A47, 655-685. Hall, S.R. & Spadaccini, N. (1994). "The STAR File: Detailed Specifications," J. Chem. Info. Comp. Sci., 34, 505-508.
Field Summary | |
---|---|
(package private) int |
cch
|
(package private) int |
ich
|
(package private) int |
ichPeeked
|
(package private) java.lang.String |
str
|
(package private) java.lang.String |
strPeeked
|
(package private) boolean |
wasUnQuoted
|
Constructor Summary | |
---|---|
CifReader.RidiculousFileFormatTokenizer()
|
Method Summary | |
---|---|
(package private) java.lang.String |
fullTrim(java.lang.String str)
specially for names that might be multiline |
(package private) boolean |
getData()
general reader for loop data fills loopData with fieldCount fields |
(package private) java.lang.String |
getNextDataToken()
first checks to see if the next token is an unquoted control code, and if so, returns null |
(package private) java.lang.String |
getNextToken()
|
(package private) java.lang.String |
getTokenPeeked()
|
(package private) boolean |
hasMoreTokens()
|
(package private) java.lang.String |
nextToken()
assume that hasMoreTokens() has been called and that ich is pointing at a non-white character. |
(package private) java.lang.String |
peekToken()
just look at the next token. |
private void |
setString(java.lang.String str)
sets a string to be parsed from the beginning |
(package private) java.lang.String |
setStringNextLine()
sets the string for parsing to be from the next line when the token buffer is empty, and if ';' is at the beginning of that line, extends the string to include that full multiline string. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
java.lang.String str
int ich
int cch
boolean wasUnQuoted
java.lang.String strPeeked
int ichPeeked
Constructor Detail |
---|
CifReader.RidiculousFileFormatTokenizer()
Method Detail |
---|
private void setString(java.lang.String str)
str
- java.lang.String setStringNextLine() throws java.lang.Exception
java.lang.Exception
boolean hasMoreTokens()
java.lang.String nextToken()
boolean getData() throws java.lang.Exception
java.lang.Exception
java.lang.String getNextDataToken() throws java.lang.Exception
java.lang.Exception
java.lang.String getNextToken() throws java.lang.Exception
java.lang.Exception
java.lang.String peekToken() throws java.lang.Exception
java.lang.Exception
java.lang.String getTokenPeeked()
java.lang.String fullTrim(java.lang.String str)
str
-
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |