/**
* This does not use the other methods to do the field parsing. Instead, it
* goes on the raw values that are presented and returns objects to represent
* that. We look for either single values or multiple values. For any of these
* we return a representative object. The return value could be one of these:
*
* - Boolean
*
- Integer
*
- Long
*
- Float
*
- String
*
- boolean[]
*
- int[]
*
- long[]
*
- float[]
*
- String[]
*
*
* @param useInt A hint to use if this is a number field we are parsing to
* decide whether to parse number strings as an int or float for type
* checking. If expecting any other sort of field, has no effect.
*/
|
parseUnknownField |
::= |
( <TRUE> | <TRUE_L> | <FALSE> | <FALSE_L> | <NUMBER_LITERAL> | <STRING_LITERAL> | ( <LBRACKET> )? ( ( <TRUE> | <FALSE> )+ | ( <NUMBER_LITERAL> )+ | ( <STRING_LITERAL> )+ ) ( <RBRACKET> )? ( <EOF> )? ) |
/**
* Parse an SFInt value. If there is more than one int value in the string it
* will be ignored.
*/
|
SFInt32 |
::= |
<NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFInt32 value.
*
* MFInt32 ::=
* "[" NUMBER_LITERAL* "]" |
* NUMBER_LITERAL*
*
*/
|
MFInt32 |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFLong value. If there is more than one long value in the string it
* will be ignored.
*/
|
SFLong |
::= |
<NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFLong value.
*
* MFLong ::=
* "[" NUMBER_LITERAL* "]" |
* NUMBER_LITERAL*
*
*/
|
MFLong |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFFloat value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFFloat |
::= |
<NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFFloat value.
*
* MFFloat ::=
* "[" NUMBER_LITERAL* "]" |
* NUMBER_LITERAL*
*
*/
|
MFFloat |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFDouble value. If there is more than one double value in the string
* it will be ignored.
*/
|
SFDouble |
::= |
<NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFDouble value.
*
* MFDouble ::=
* "[" NUMBER_LITERAL* "]" |
* NUMBER_LITERAL*
*
*/
|
MFDouble |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFBool value. If there is more than one boolean value in the string
* it will be ignored.
*/
|
SFBool |
::= |
( <TRUE> | <FALSE> ) ( <EOF> )? |
/**
* Parse an SFBool value using lower case lettering, for XML field values. If
* there is more than one boolean value in the string
* it will be ignored.
*/
|
SFBoolLower |
::= |
( <TRUE_L> | <FALSE_L> | <TRUE> | <FALSE> ) ( <EOF> )? |
/**
* Parse an MFBool value.
*
* MFBool ::=
* "[" ("TRUE" | "FALSE")* "]" |
* ("TRUE" | "FALSE")*
*
*/
|
MFBool |
::= |
( <LBRACKET> )? ( <TRUE> | <FALSE> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an MFBool that is in lower case for XML parsing.
*
* MFBool ::=
* "[" ("true" | "false")* "]" |
* ("true" | "false")*
*
*/
|
MFBoolLower |
::= |
( <LBRACKET> )? ( <TRUE_L> | <FALSE_L> | <TRUE> | <FALSE> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFString value. We really shouldn't need this, but it is here for
* completeness.
*/
|
SFString |
::= |
<STRING_LITERAL> ( <EOF> )? |
/**
* Parse an MFString value.
*
* MFString ::=
* "[" ( STRING_LITERAL)* "]" |
* (STRING_LITERAL)*
*
*/
|
MFString |
::= |
( <LBRACKET> )? ( <STRING_LITERAL> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFVec2f value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFVec2f |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFVec2f value.
*
* MFVec2f ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFVec2f |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFVec3f value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFVec3f |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFVec3f value.
*
* MFVec3f ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFVec3f |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFVec2d value. If there is more than one double value in the string
* it will be ignored.
*/
|
SFVec2d |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFVec2d value.
*
* MFVec2d ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFVec2d |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFVec3d value. If there is more than one double value in the string
* it will be ignored.
*/
|
SFVec3d |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFVec3d value.
*
* MFVec3d ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFVec3d |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFVec4f value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFVec4f |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFVec4f value.
*
* MFVec4f ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFVec4f |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFVec4d value. If there is more than one double value in the string
* it will be ignored.
*/
|
SFVec4d |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFVec4d value.
*
* MFVec4d ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFVec4d |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFRotation value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFRotation |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFRotation value.
*
* MFRotation ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFRotation |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFTime value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFTime |
::= |
<NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFTime value. In VRML97 MFTime are not legal field types. However,
* we provide it here for completeness and that it might be used by VRML 3.0.
*
* MFTime ::=
* "[" NUMBER_LITERAL* "]" |
* NUMBER_LITERAL*
*
*/
|
MFTime |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> )* ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFColor value. The color differs from the float value by being
* clamped between 0 and 1. Any more than a single colour value is ignored.
*
* SFColor ::=
* NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL
*
*/
|
SFColor |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFColor value. The color differs from the float value by being
* clamped between 0 and 1.
*
* MFColor ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFColor |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFImage value.
*
* SFImage ::=
* NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL (NUMBER_LITERAL)*
*
*/
|
SFImage |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <NUMBER_LITERAL> )* ( <EOF> )? |
/**
* Parse an MFImage value.
*
* MFImage ::=
* NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL (NUMBER_LITERAL)*
*
* Since we really don't have any control over the number of integers
* here we just assume a single image and then parse the rest of the
* integers as quickly as possible.
*/
|
MFImage |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <NUMBER_LITERAL> )* ( <EOF> )? |
/**
* Parse an SFColorRGBA value. If there is more than one float value in the string
* it will be ignored.
*
* SFColorRGBA ::=
* NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL
*
*/
|
SFColorRGBA |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFColorRGBA value. The color differs from the float value by being
* clamped between 0 and 1.
*
* MFColor ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFColorRGBA |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFMatrix3f value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFMatrix3f |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFMatrix3f value.
*
* MFMatrix3f ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFMatrix3f |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFMatrix3d value. If there is more than one double value in the string
* it will be ignored.
*/
|
SFMatrix3d |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFMatrix3d value.
*
* MFMatrix4d ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFMatrix3d |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFMatrix4f value. If there is more than one float value in the string
* it will be ignored.
*/
|
SFMatrix4f |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFMatrix4f value.
*
* MFMatrix4f ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFMatrix4f |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |
/**
* Parse an SFMatrix4d value. If there is more than one double value in the string
* it will be ignored.
*/
|
SFMatrix4d |
::= |
<NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> ( <EOF> )? |
/**
* Parse an MFMatrix4d value.
*
* MFMatrix4d ::=
* "[" (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)* "]" |
* (NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL NUMBER_LITERAL)*
*
*/
|
MFMatrix4d |
::= |
( <LBRACKET> )? ( <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> <NUMBER_LITERAL> )+ ( <RBRACKET> )? ( <EOF> )? |