diff --git a/applications/test/Function1/case1/constant/function1Properties b/applications/test/Function1/case1/constant/function1Properties index 671d72ebf2e1c1f7850a10421e07ca6e2f389aa6..e3ecec6b400ca9f61e27f67a5e154381bf546d1d 100644 --- a/applications/test/Function1/case1/constant/function1Properties +++ b/applications/test/Function1/case1/constant/function1Properties @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: v2106 | +| \\ / O peration | Version: v2112 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ @@ -138,4 +138,53 @@ cosine6 } +expr1 +{ + type expression; + + functions<scalar> + { + func1 constant 21; + func2 constant 15; + sin constant -5; + } + + functions<vector> + { + vfunc3 constant (1 2 3); + vfunc4 constant (3 2 1); + } + + expression + #{ + 100 * fn:vfunc3() & fn:vfunc4() * (vector::z) .z() + * (fn:sin(arg()) + fn:func1(fn:func2())) + #}; +} + + +expr2 +{ + type expression; + + functions<scalar> + { + func1 constant 21; + func2 constant 15; + sin constant -5; + } + + functions<vector> + { + vfunc3 constant (1 2 3); + vfunc4 constant (3 2 1); + } + + expression + #{ + (fn:vfunc3() & vector::z) * arg() + #}; +} + + // ************************************************************************* // diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index d1ee7b2c6221e8e7680d6f5609b2bbc3ad9472cc..517293dbee8888176ded9f133dd6a65473161468 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -168,6 +168,7 @@ $(expr)/traits/exprTraits.C $(expr)/exprDriver/exprDriver.C $(expr)/exprDriver/exprDriverFields.C +$(expr)/exprDriver/exprDriverFunctions.C $(expr)/exprDriver/exprDriverIO.C fieldExpr = $(expr)/fields diff --git a/src/OpenFOAM/expressions/exprDriver/exprDriver.C b/src/OpenFOAM/expressions/exprDriver/exprDriver.C index d9b27f1f284bd10bf6e1b968a622bdd201dd4145..30d9e5776122fcfddc48fc48c58e349b6150d688 100644 --- a/src/OpenFOAM/expressions/exprDriver/exprDriver.C +++ b/src/OpenFOAM/expressions/exprDriver/exprDriver.C @@ -98,6 +98,30 @@ static string getEntryString return exprTools::expressionEntry::evaluate(*eptr); } #endif + + +template<class Type> +static void shallowCloneFunctions +( + HashTable<refPtr<Function1<Type>>>& dest, + const HashTable<refPtr<Function1<Type>>>& rhs +) +{ + // Add in shallow copy for other functions + forAllConstIters(rhs, iter) + { + const word& key = iter.key(); + + if (!dest.found(key)) + { + refPtr<Function1<Type>> func; + func.cref(iter.val().shallowClone()); + + dest.emplace_set(key, std::move(func)); + } + } +} + } // End namespace Foam @@ -118,6 +142,23 @@ void Foam::expressions::exprDriver::resetTimeReference(const TimeState& ts) void Foam::expressions::exprDriver::resetDb(const objectRegistry* obrPtr) { obrPtr_ = obrPtr; + + forAllIters(scalarFuncs_, iter) + { + auto& funcPtr = iter.val(); + if (funcPtr && !funcPtr.is_const()) + { + (*funcPtr).resetDb(obrPtr_); + } + } + forAllIters(vectorFuncs_, iter) + { + auto& funcPtr = iter.val(); + if (funcPtr && !funcPtr.is_const()) + { + (*funcPtr).resetDb(obrPtr_); + } + } } @@ -139,6 +180,8 @@ Foam::expressions::exprDriver::exprDriver result_(), variableStrings_(), variables_(16), + scalarFuncs_(0), + vectorFuncs_(0), arg1Value_(0), timeStatePtr_(nullptr), obrPtr_(nullptr), @@ -162,6 +205,8 @@ Foam::expressions::exprDriver::exprDriver result_(rhs.result_), variableStrings_(rhs.variableStrings_), variables_(rhs.variables_), + scalarFuncs_(0), + vectorFuncs_(0), arg1Value_(rhs.arg1Value_), timeStatePtr_(rhs.timeStatePtr_), obrPtr_(rhs.obrPtr_), @@ -174,7 +219,16 @@ Foam::expressions::exprDriver::exprDriver prevIterIsOldTime_(rhs.prevIterIsOldTime_), searchCtrl_(rhs.searchCtrl_) -{} +{ + // Partially like readDict() + + // Create Function1s from dictionary content + resetFunctions(dict_); + + // Add in shallow copy for other functions + shallowCloneFunctions(scalarFuncs_, rhs.scalarFuncs_); + shallowCloneFunctions(vectorFuncs_, rhs.vectorFuncs_); +} Foam::expressions::exprDriver::exprDriver @@ -246,9 +300,9 @@ bool Foam::expressions::exprDriver::readDict // Regular variables variableStrings_ = readVariableStrings(dict); - // Other tables? - // readTable("timelines", dict, lines_); - // readTable("lookuptables", dict, lookup_); + // Create Function1s from dictionary content + resetFunctions(dict); + // readTable("lookuptables2D", dict, lookup2D_); return true; diff --git a/src/OpenFOAM/expressions/exprDriver/exprDriver.H b/src/OpenFOAM/expressions/exprDriver/exprDriver.H index 2aed2664aa2225dc69110eec84de7c5ecea4fb12..d7f0946df2ed6c8c25c02cc2d49cea07e9791b32 100644 --- a/src/OpenFOAM/expressions/exprDriver/exprDriver.H +++ b/src/OpenFOAM/expressions/exprDriver/exprDriver.H @@ -36,6 +36,8 @@ Description \table Property | Description | Required | Default variables | List of variables for expressions | no | () + lookup\<scalar\> | Dictionary of scalar Function1 | no | {} + lookup\<vector\> | Dictionary of vector Function1 | no | {} allowShadowing | Allow variables to shadow field names | no | false \endtable @@ -47,10 +49,15 @@ Description debugParser | Add debug for parser | no | false \endtable + The \c lookup<scalar> and \c lookup<vector> are dictionaries + of Function1 definitions that can either be used to establish + a time-varying quantity, to remap a field of scalar values, or both. + SourceFiles exprDriverI.H exprDriver.C exprDriverFields.C + exprDriverFunctions.C exprDriverIO.C exprDriverTemplates.C @@ -65,6 +72,9 @@ SourceFiles #include "pointField.H" #include "primitiveFields.H" #include "objectRegistry.H" +#include "HashTable.H" +#include "HashSet.H" +#include "Function1.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -105,6 +115,18 @@ private: //- Get search/caching controls from dictionary entries static int getSearchControls(const dictionary& dict); + //- Read/reset Function1 entries + void resetFunctions(const dictionary& dict); + + //- Helper for lookup of Function1 in table + template<class Type> + static const Function1<Type>* getFunction1Ptr + ( + const word& name, + const HashTable<refPtr<Function1<Type>>>& tbl, + wordList* listFailure = nullptr + ); + protected: @@ -124,6 +146,14 @@ protected: //- The variables table HashTable<exprResult> variables_; + //- Function1 mappings/timelines (scalar), + //- evaluated at the simulation time or with arbitrary scalars + HashTable<refPtr<Function1<scalar>>> scalarFuncs_; + + //- Function1 mappings/timelines (vector), + //- evaluated at the simulation time or with arbitrary scalars + HashTable<refPtr<Function1<vector>>> vectorFuncs_; + //- Special-purpose scalar reference argument scalar arg1Value_; @@ -173,24 +203,8 @@ protected: static tmp<GeoField> cfindFieldObject(const objectRegistry& obr, const word& fldName); - //- Read an interpolation table - template<typename TableType> - static bool readTable - ( - const word& name, - const dictionary& dict, - HashTable<TableType>& tbl, - bool clear=true - ); - - //- Write an interpolation table - template<class TableType> - static void writeTable - ( - Ostream& os, - const word& name, - const HashTable<TableType>& tbl - ); + //- Write scalar/vector Function1 entries in dictionary format + void writeFunctions(Ostream& os) const; // Variables @@ -444,6 +458,27 @@ public: ); + // Scalar mappings (timelines / lookups) + + //- Named mapping with given type exists + template<class Type> + bool isFunction(const word& name) const; + + //- Evaluate named mapping for the given time/value. + //- Zero for undefined/unknown + template<class Type> + Type getFunctionValue(const word& name, const scalar x) const; + + //- Fill result with values remapped according to the named Function1 + template<class Type> + void fillFunctionValues + ( + Field<Type>& result, + const word& name, + const scalarField& input + ) const; + + // Fields //- Test existence of a local variable diff --git a/src/OpenFOAM/expressions/exprDriver/exprDriverFunctions.C b/src/OpenFOAM/expressions/exprDriver/exprDriverFunctions.C new file mode 100644 index 0000000000000000000000000000000000000000..95f90b81ea20cf55164b3dbe71ec97b454092bbf --- /dev/null +++ b/src/OpenFOAM/expressions/exprDriver/exprDriverFunctions.C @@ -0,0 +1,231 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | www.openfoam.com + \\/ M anipulation | +------------------------------------------------------------------------------- + Copyright (C) 2021 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "exprDriver.H" + +// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Check for acceptable Function1 keywords in the given dictionary, +// with special handling to avoid accidental inclusion of coeffs +// dictionaries etc +static wordHashSet getAcceptableFunctionKeys +( + const dictionary* dictPtr, + const bool acceptPrimitiveEntry, + const bool report = false +) +{ + wordHashSet acceptKeys(0); + + if (!dictPtr) + { + return acceptKeys; + } + + const dictionary& dict = *dictPtr; + + acceptKeys.resize(2*dict.size()); + wordHashSet rejectKeys(2*dict.size()); + + for (const entry& dEntry : dict) + { + const keyType& kw = dEntry.keyword(); + + bool ok = true; + + if (kw.isPattern()) + { + ok = false; + } + else if (dEntry.isDict()) + { + // Dictionary entry - require "type", which should eliminate + // any *Coeffs dictionaries + + ok = dEntry.dict().found("type", keyType::LITERAL); + } + else + { + // Primitive entry. Trust that it is okay? + ok = acceptPrimitiveEntry; + } + + if (ok) + { + acceptKeys.insert(kw); + } + else + { + rejectKeys.insert(kw); + } + } + + if (report && rejectKeys.size()) + { + InfoInFunction + << "Dropped invalid/redundant entries: " + << flatOutput(rejectKeys.sortedToc()) << nl; + } + + return acceptKeys; +} + + +// Read and reset Function1 for given dictionary. +// Uses getAcceptableFunctionKeys +template<class Type> +static void resetFuncsImpl +( + const word& subDictName, + const dictionary& topDict, + HashTable<refPtr<Function1<Type>>>& tbl, + const objectRegistry* obrPtr +) +{ + tbl.clear(); + + const dictionary* dictPtr = + topDict.findDict(subDictName, keyType::LITERAL); + + if (!dictPtr) + { + return; + } + + wordHashSet acceptKeys + ( + getAcceptableFunctionKeys + ( + dictPtr, + true // Accept primitive entries, hope for the best + ) + ); + + const dictionary& dict = *dictPtr; + + for (const word& entryName : acceptKeys) + { + // From autoPtr -> refPtr + refPtr<Function1<Type>> func + ( + Function1<Type>::New(entryName, dict, obrPtr) + ); + + if (func) + { + tbl.insert(entryName, std::move(func)); + } + } +} + + +// Write out entries, if they originated from dictionary +template<class Type> +static void writeFuncsImpl +( + Ostream& os, + const word& subDictName, + const dictionary& topDict, + const HashTable<refPtr<Function1<Type>>>& tbl +) +{ + const dictionary* dictPtr = + topDict.findDict(subDictName, keyType::LITERAL); + + if (!dictPtr || tbl.empty()) + { + return; + } + + label nwrote = 0; + + const dictionary& dict = *dictPtr; + + for (const entry& dEntry : dict) + { + const word& entryName = dEntry.keyword(); + + const auto iter = tbl.cfind(entryName); + + if (!iter.found()) + { + continue; + } + + const auto& funcPtr = iter.val(); + + if (funcPtr) + { + if (!nwrote++) + { + os.beginBlock(subDictName); + } + + os.beginBlock(entryName); + os.writeEntry("type", (*funcPtr).type()); + (*funcPtr).writeEntries(os); + os.endBlock(); + } + } + + if (nwrote) + { + os.endBlock(); + } +} + +} // End namespace Foam + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::expressions::exprDriver::resetFunctions +( + const dictionary& dict +) +{ + resetFuncsImpl<scalar>("functions<scalar>", dict_, scalarFuncs_, obrPtr_); + resetFuncsImpl<vector>("functions<vector>", dict_, vectorFuncs_, obrPtr_); + + if (debug) + { + writeFunctions(InfoInFunction); + } +} + + +void Foam::expressions::exprDriver::writeFunctions(Ostream& os) const +{ + writeFuncsImpl<scalar>(os, "functions<scalar>", dict_, scalarFuncs_); + writeFuncsImpl<vector>(os, "functions<vector>", dict_, vectorFuncs_); +} + + +// ************************************************************************* // diff --git a/src/OpenFOAM/expressions/exprDriver/exprDriverTemplates.C b/src/OpenFOAM/expressions/exprDriver/exprDriverTemplates.C index d7462f3a382640aac0f1616f5fe181fc92d6be87..e7b99838ccc77b9b20854e42c0137ac21c0b4d5f 100644 --- a/src/OpenFOAM/expressions/exprDriver/exprDriverTemplates.C +++ b/src/OpenFOAM/expressions/exprDriver/exprDriverTemplates.C @@ -46,63 +46,6 @@ Foam::expressions::exprDriver::cfindFieldObject } -template<class TableType> -bool Foam::expressions::exprDriver::readTable -( - const word& name, - const dictionary& dict, - HashTable<TableType>& tbl, - bool clear -) -{ - if (clear) - { - tbl.clear(); - } - - if (!dict.found(name)) - { - return false; - } - - ITstream& is = dict.lookup(name); - List<dictionary> input(is); - - for (const dictionary& d : input) - { - tbl.insert(dict.get<word>("name"), TableType(d)); - } - - return true; -} - - -template<class TableType> -void Foam::expressions::exprDriver::writeTable -( - Ostream& os, - const word& name, - const HashTable<TableType>& tbl -) -{ - if (tbl.size()) - { - os.writeKeyword(name); - os << token::BEGIN_LIST << nl; - - forAllConstIters(tbl, iter) - { - os.beginBlock(); - os.writeEntry("name", iter.key()); - (*iter).write(os); - os.endBlock(); - } - os << token::END_LIST - << token::END_STATEMENT << nl; - } -} - - // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // template<class Type> @@ -180,6 +123,181 @@ Foam::expressions::exprDriver::getResult(bool wantPointData) // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +template<class Type> +const Foam::Function1<Type>* Foam::expressions::exprDriver::getFunction1Ptr +( + const word& name, + const HashTable<refPtr<Function1<Type>>>& tbl, + wordList* listFailure +) +{ + const Function1<Type>* func = nullptr; + + const auto iter = tbl.cfind(name); + + if (iter.found()) + { + func = iter.val().get(); + } + + if (!func && listFailure) + { + *listFailure = tbl.sortedToc(); + } + + return func; +} + + +template<class Type> +bool Foam::expressions::exprDriver::isFunction(const word& name) const +{ + // Currently only scalar, vector + #undef doLocalCode + #define doLocalCode(WhichType, MapperMember) \ + if (std::is_same<Type, WhichType>::value) \ + { \ + return bool \ + ( \ + this->template getFunction1Ptr<WhichType> \ + ( \ + name, MapperMember \ + ) \ + ); \ + } + + doLocalCode(scalar, scalarFuncs_); + doLocalCode(vector, vectorFuncs_); + #undef doLocalCode + + return false; +} + + +template<class Type> +Type Foam::expressions::exprDriver::getFunctionValue +( + const word& name, + const scalar x +) const +{ + const Function1<Type>* func = nullptr; + + wordList failed; + + do + { + // Currently only scalar, vector + #undef doLocalCode + #define doLocalCode(WhichType, MapperMember) \ + if (std::is_same<Type, WhichType>::value) \ + { \ + const Function1<WhichType>* ptr = \ + this->template getFunction1Ptr<WhichType> \ + ( \ + name, MapperMember, &failed \ + ); \ + func = reinterpret_cast<const Function1<Type>*>(ptr); \ + break; \ + } + + doLocalCode(scalar, scalarFuncs_); + doLocalCode(vector, vectorFuncs_); + #undef doLocalCode + } + while (false); + + // Error handling + if (!failed.empty()) + { + FatalErrorInFunction + << "No mapping '" << name << " (" << pTraits<Type>::typeName + << ") found." << nl + << "Valid entries: " + << flatOutput(failed) << nl + << exit(FatalError); + } + + if (func) + { + return func->value(x); + } + + return pTraits<Type>::zero; +} + + +template<class Type> +void Foam::expressions::exprDriver::fillFunctionValues +( + Field<Type>& result, + const word& name, + const scalarField& input +) const +{ + // #ifdef FULLDEBUG + // checkSize(result, input); + // #endif + + const Function1<Type>* func = nullptr; + + wordList failed; + + do + { + // Currently only scalar, vector + #undef doLocalCode + #define doLocalCode(WhichType, MapperMember) \ + if (std::is_same<Type, WhichType>::value) \ + { \ + const Function1<WhichType>* ptr = \ + this->template getFunction1Ptr<WhichType> \ + ( \ + name, MapperMember, &failed \ + ); \ + func = reinterpret_cast<const Function1<Type>*>(ptr); \ + break; \ + } + + doLocalCode(scalar, scalarFuncs_); + doLocalCode(vector, vectorFuncs_); + #undef doLocalCode + } + while (false); + + // Error handling + if (!failed.empty()) + { + FatalErrorInFunction + << "No mapping '" << name << " (" << pTraits<Type>::typeName + << ") found." << nl + << "Valid entries: " + << flatOutput(failed) << nl + << exit(FatalError); + } + + if (func) + { + const label len = min(result.size(), input.size()); + + for (label i = 0; i < len; ++i) + { + result[i] = func->value(input[i]); + } + + // Safety + for (label i = len; i < result.size(); ++i) + { + result[i] = Zero; + } + + return; + } + + result = Zero; +} + + template<class Type> bool Foam::expressions::exprDriver::isLocalVariable ( diff --git a/src/OpenFOAM/expressions/exprTools/exprTools.C b/src/OpenFOAM/expressions/exprTools/exprTools.C index 7ce4f220029a9e0ddca6b21c1dcd2c5de2874468..111d295ab82e373115ba9f90cae3e043cdb26d30 100644 --- a/src/OpenFOAM/expressions/exprTools/exprTools.C +++ b/src/OpenFOAM/expressions/exprTools/exprTools.C @@ -178,7 +178,7 @@ Foam::exprTools::getList FatalIOErrorInFunction(dict) << " Entry '"<< keyword << "' not a string or list of strings" << nl - << exit(FatalError); + << exit(FatalIOError); return result; } diff --git a/src/OpenFOAM/expressions/fields/fieldExprDriver.H b/src/OpenFOAM/expressions/fields/fieldExprDriver.H index 7407877350875bdce2d4f3d54f033164fc7bd331..c1d7ed04c880f4ad3fb7ce92dad8138a73124ba9 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprDriver.H +++ b/src/OpenFOAM/expressions/fields/fieldExprDriver.H @@ -156,8 +156,7 @@ public: //- Return named field (variable) if available template<class Type> - tmp<Field<Type>> - getField(const word& fieldName) const; + tmp<Field<Type>> getField(const word& fieldName) const; // Custom Field Functions diff --git a/src/OpenFOAM/expressions/fields/fieldExprDriverFields.C b/src/OpenFOAM/expressions/fields/fieldExprDriverFields.C index bb8f285ccf878dc939a87a6f6320c4127fb2e634..47d890b6046ec2feeacff3680ef2a7b4824e8adc 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprDriverFields.C +++ b/src/OpenFOAM/expressions/fields/fieldExprDriverFields.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 index b29f09dac0c17976a7935b43c7d57de8e1bf4f05..ce845dda4ab64b90de9d43dd4c66125af7062ce9 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 +++ b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 @@ -173,8 +173,11 @@ svalue (lhs) ::= DELTA_T LPAREN RPAREN . { lhs = driver->deltaT(); } svalue (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN RPAREN . { - driver->reportFatal("Not implemented: " + make_obj(name.name_)); - lhs = 0; + lhs = driver->getFunctionValue<Foam::scalar> + ( + make_obj(name.name_), + driver->timeValue() + ); } @@ -193,8 +196,12 @@ vvalue (lhs) ::= VECTOR_VALUE (tok) . vvalue (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN RPAREN . { - driver->reportFatal("Not implemented: " + make_obj(name.name_)); - lhs = new Foam::vector(0,0,0); + auto val = driver->getFunctionValue<Foam::vector> + ( + make_obj(name.name_), + driver->timeValue() + ); + lhs = new Foam::vector(val); } @@ -253,8 +260,12 @@ _target_ (lhs) ::= RAND LPAREN NUMBER (seed) RPAREN. _target_ (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -283,8 +294,12 @@ rules_vector_functions() _target_ (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } diff --git a/src/OpenFOAM/expressions/fields/fieldExprScanner.cc b/src/OpenFOAM/expressions/fields/fieldExprScanner.cc index 99503b8e010ab3d84e32db856d875106a7b9e635..be55e6c93e62da6f46feb546e6b96d716b9bf6de 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprScanner.cc +++ b/src/OpenFOAM/expressions/fields/fieldExprScanner.cc @@ -178,14 +178,14 @@ static int driverTokenType #line 181 "fieldExprScanner.cc" -static const int fieldExpr_start = 13; -static const int fieldExpr_first_final = 13; +static const int fieldExpr_start = 14; +static const int fieldExpr_first_final = 14; static const int fieldExpr_error = 0; -static const int fieldExpr_en_main = 13; +static const int fieldExpr_en_main = 14; -#line 326 "fieldExprScanner.rl" +#line 330 "fieldExprScanner.rl" @@ -294,6 +294,22 @@ bool Foam::expressions::fieldExpr::scanner::dispatch_ident do { + #undef doLocalCode + #define doLocalCode(TokType, Type) \ + if (driver_.isFunction<Type>(funcName)) \ + { \ + ident = std::move(funcName); \ + tokType = TokType; \ + break; \ + } + + #ifdef TOK_SCALAR_FUNCTION_ID + doLocalCode(TOK_SCALAR_FUNCTION_ID, scalar); + #endif + #ifdef TOK_VECTOR_FUNCTION_ID + doLocalCode(TOK_VECTOR_FUNCTION_ID, vector); + #endif + #undef doLocalCode } while (false); } @@ -427,7 +443,7 @@ bool Foam::expressions::fieldExpr::scanner::process // Initialize FSM variables -#line 431 "fieldExprScanner.cc" +#line 447 "fieldExprScanner.cc" { cs = fieldExpr_start; ts = 0; @@ -435,11 +451,11 @@ bool Foam::expressions::fieldExpr::scanner::process act = 0; } -#line 566 "fieldExprScanner.rl" +#line 586 "fieldExprScanner.rl" /* ^^^ FSM initialization here ^^^ */; -#line 443 "fieldExprScanner.cc" +#line 459 "fieldExprScanner.cc" { if ( p == pe ) goto _test_eof; @@ -453,7 +469,7 @@ tr2: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr4: #line 206 "fieldExprScanner.rl" {te = p+1;{ @@ -462,7 +478,7 @@ tr4: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr5: #line 181 "fieldExprScanner.rl" {{p = ((te))-1;}{ @@ -489,108 +505,117 @@ tr5: driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr8: -#line 250 "fieldExprScanner.rl" +#line 254 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(EQUAL); }} - goto st13; + goto st14; tr9: -#line 302 "fieldExprScanner.rl" - {{p = ((te))-1;}{ EMIT_TOKEN(TENSOR); }} - goto st13; +#line 206 "fieldExprScanner.rl" + {{p = ((te))-1;}{ + // Emit identifier + driver_.parsePosition() = (ts-buf); + dispatch_ident(driver_, word(ts, te-ts, false)); + driver_.parsePosition() = (p-buf); + }} + goto st14; tr11: -#line 313 "fieldExprScanner.rl" +#line 306 "fieldExprScanner.rl" + {{p = ((te))-1;}{ EMIT_TOKEN(TENSOR); }} + goto st14; +tr13: +#line 317 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(IDENTITY_TENSOR); }} - goto st13; -tr12: -#line 301 "fieldExprScanner.rl" - {{p = ((te))-1;}{ EMIT_TOKEN(VECTOR); }} - goto st13; + goto st14; tr14: -#line 310 "fieldExprScanner.rl" +#line 305 "fieldExprScanner.rl" + {{p = ((te))-1;}{ EMIT_TOKEN(VECTOR); }} + goto st14; +tr16: +#line 314 "fieldExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(1,0,0); }} - goto st13; -tr15: -#line 311 "fieldExprScanner.rl" + goto st14; +tr17: +#line 315 "fieldExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(0,1,0); }} - goto st13; -tr16: -#line 312 "fieldExprScanner.rl" + goto st14; +tr18: +#line 316 "fieldExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(0,0,1); }} - goto st13; -tr17: -#line 253 "fieldExprScanner.rl" + goto st14; +tr19: +#line 257 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(LOR); }} - goto st13; -tr21: -#line 235 "fieldExprScanner.rl" + goto st14; +tr23: +#line 239 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(PERCENT); }} - goto st13; -tr24: -#line 236 "fieldExprScanner.rl" + goto st14; +tr26: +#line 240 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(LPAREN); }} - goto st13; -tr25: -#line 237 "fieldExprScanner.rl" + goto st14; +tr27: +#line 241 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(RPAREN); }} - goto st13; -tr26: -#line 238 "fieldExprScanner.rl" + goto st14; +tr28: +#line 242 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(TIMES); }} - goto st13; -tr27: -#line 239 "fieldExprScanner.rl" + goto st14; +tr29: +#line 243 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(PLUS); }} - goto st13; -tr28: -#line 241 "fieldExprScanner.rl" + goto st14; +tr30: +#line 245 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(COMMA); }} - goto st13; -tr29: -#line 240 "fieldExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(MINUS); }} - goto st13; + goto st14; tr31: -#line 243 "fieldExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(DIVIDE); }} - goto st13; +#line 244 "fieldExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(MINUS); }} + goto st14; tr33: -#line 245 "fieldExprScanner.rl" +#line 247 "fieldExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(DIVIDE); }} + goto st14; +tr35: +#line 249 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(COLON); }} - goto st13; -tr37: -#line 244 "fieldExprScanner.rl" + goto st14; +tr39: +#line 248 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(QUESTION); }} - goto st13; -tr40: -#line 256 "fieldExprScanner.rl" + goto st14; +tr41: +#line 260 "fieldExprScanner.rl" {te = p+1;{ EMIT_TOKEN(BIT_XOR); }} - goto st13; -tr56: -#line 229 "fieldExprScanner.rl" - {te = p;p--;} - goto st13; + goto st14; tr57: -#line 234 "fieldExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(LNOT); }} - goto st13; +#line 233 "fieldExprScanner.rl" + {te = p;p--;} + goto st14; tr58: -#line 251 "fieldExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(NOT_EQUAL); }} - goto st13; +#line 238 "fieldExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(LNOT); }} + goto st14; tr59: -#line 254 "fieldExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(BIT_AND); }} - goto st13; +#line 255 "fieldExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(NOT_EQUAL); }} + goto st14; tr60: -#line 252 "fieldExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(LAND); }} - goto st13; +#line 258 "fieldExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(BIT_AND); }} + goto st14; tr61: -#line 242 "fieldExprScanner.rl" +#line 256 "fieldExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(LAND); }} + goto st14; +tr62: +#line 246 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(DOT); }} - goto st13; -tr64: + goto st14; +tr65: #line 181 "fieldExprScanner.rl" {te = p;p--;{ // Emit number @@ -616,8 +641,8 @@ tr64: driver_.parsePosition() = (p-buf); }} - goto st13; -tr66: + goto st14; +tr67: #line 213 "fieldExprScanner.rl" {te = p;p--;{ // Tokenized ".method" - dispatch '.' and "method" separately @@ -625,24 +650,24 @@ tr66: dispatch_method(driver_, word(ts+1, te-ts-1, false)); driver_.parsePosition() = (p-buf); }} - goto st13; -tr67: -#line 246 "fieldExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(LESS); }} - goto st13; + goto st14; tr68: -#line 247 "fieldExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(LESS_EQ); }} - goto st13; +#line 250 "fieldExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(LESS); }} + goto st14; tr69: -#line 248 "fieldExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(GREATER); }} - goto st13; +#line 251 "fieldExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(LESS_EQ); }} + goto st14; tr70: -#line 249 "fieldExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(GREATER_EQ); }} - goto st13; +#line 252 "fieldExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(GREATER); }} + goto st14; tr71: +#line 253 "fieldExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(GREATER_EQ); }} + goto st14; +tr72: #line 206 "fieldExprScanner.rl" {te = p;p--;{ // Emit identifier @@ -650,8 +675,8 @@ tr71: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; -tr73: + goto st14; +tr74: #line 1 "NONE" { switch( act ) { case 26: @@ -760,130 +785,130 @@ tr73: break; } } - goto st13; -tr89: -#line 278 "fieldExprScanner.rl" + goto st14; +tr90: +#line 282 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(ATAN); }} - goto st13; -tr104: -#line 274 "fieldExprScanner.rl" + goto st14; +tr105: +#line 278 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(COS); }} - goto st13; -tr125: -#line 267 "fieldExprScanner.rl" + goto st14; +tr128: +#line 271 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(LOG); }} - goto st13; -tr132: -#line 283 "fieldExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(MAG); }} - goto st13; -tr139: + goto st14; +tr135: #line 287 "fieldExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(MAG); }} + goto st14; +tr142: +#line 291 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(NEG); }} - goto st13; -tr145: -#line 286 "fieldExprScanner.rl" + goto st14; +tr148: +#line 290 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(POS); }} - goto st13; -tr164: -#line 273 "fieldExprScanner.rl" + goto st14; +tr167: +#line 277 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SIN); }} - goto st13; -tr180: -#line 270 "fieldExprScanner.rl" + goto st14; +tr183: +#line 274 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SQR); }} - goto st13; -tr196: -#line 275 "fieldExprScanner.rl" + goto st14; +tr199: +#line 279 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TAN); }} - goto st13; -tr202: -#line 302 "fieldExprScanner.rl" + goto st14; +tr205: +#line 306 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TENSOR); }} - goto st13; -tr213: -#line 301 "fieldExprScanner.rl" + goto st14; +tr216: +#line 305 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(VECTOR); }} - goto st13; -st13: + goto st14; +st14: #line 1 "NONE" {ts = 0;} if ( ++p == pe ) - goto _test_eof13; -case 13: + goto _test_eof14; +case 14: #line 1 "NONE" {ts = p;} -#line 817 "fieldExprScanner.cc" +#line 842 "fieldExprScanner.cc" switch( (*p) ) { - case 32: goto st14; - case 33: goto st15; + case 32: goto st15; + case 33: goto st16; case 34: goto st1; - case 37: goto tr21; - case 38: goto st16; + case 37: goto tr23; + case 38: goto st17; case 39: goto st3; - case 40: goto tr24; - case 41: goto tr25; - case 42: goto tr26; - case 43: goto tr27; - case 44: goto tr28; - case 45: goto tr29; - case 46: goto st17; - case 47: goto tr31; - case 58: goto tr33; - case 60: goto st22; + case 40: goto tr26; + case 41: goto tr27; + case 42: goto tr28; + case 43: goto tr29; + case 44: goto tr30; + case 45: goto tr31; + case 46: goto st18; + case 47: goto tr33; + case 58: goto tr35; + case 60: goto st23; case 61: goto st7; - case 62: goto st23; - case 63: goto tr37; - case 90: goto st26; - case 94: goto tr40; - case 95: goto st24; - case 97: goto st29; - case 98: goto st43; - case 99: goto st46; - case 100: goto st51; - case 101: goto st61; - case 102: goto st63; - case 108: goto st67; - case 109: goto st71; - case 110: goto st77; - case 112: goto st80; - case 114: goto st83; - case 115: goto st91; - case 116: goto st119; - case 118: goto st131; - case 124: goto st12; + case 62: goto st24; + case 63: goto tr39; + case 90: goto st27; + case 94: goto tr41; + case 95: goto st25; + case 97: goto st30; + case 98: goto st44; + case 99: goto st47; + case 100: goto st52; + case 101: goto st62; + case 102: goto st64; + case 108: goto st69; + case 109: goto st73; + case 110: goto st79; + case 112: goto st82; + case 114: goto st85; + case 115: goto st93; + case 116: goto st121; + case 118: goto st133; + case 124: goto st13; } if ( (*p) < 48 ) { if ( 9 <= (*p) && (*p) <= 13 ) - goto st14; + goto st15; } else if ( (*p) > 57 ) { if ( (*p) > 89 ) { if ( 103 <= (*p) && (*p) <= 122 ) - goto st24; + goto st25; } else if ( (*p) >= 65 ) - goto st24; + goto st25; } else - goto tr32; + goto tr34; goto st0; st0: cs = 0; goto _out; -st14: - if ( ++p == pe ) - goto _test_eof14; -case 14: - if ( (*p) == 32 ) - goto st14; - if ( 9 <= (*p) && (*p) <= 13 ) - goto st14; - goto tr56; st15: if ( ++p == pe ) goto _test_eof15; case 15: - if ( (*p) == 61 ) - goto tr58; + if ( (*p) == 32 ) + goto st15; + if ( 9 <= (*p) && (*p) <= 13 ) + goto st15; goto tr57; +st16: + if ( ++p == pe ) + goto _test_eof16; +case 16: + if ( (*p) == 61 ) + goto tr59; + goto tr58; st1: if ( ++p == pe ) goto _test_eof1; @@ -898,13 +923,13 @@ case 2: if ( (*p) == 34 ) goto tr2; goto st2; -st16: +st17: if ( ++p == pe ) - goto _test_eof16; -case 16: + goto _test_eof17; +case 17: if ( (*p) == 38 ) - goto tr60; - goto tr59; + goto tr61; + goto tr60; st3: if ( ++p == pe ) goto _test_eof3; @@ -919,35 +944,35 @@ case 4: if ( (*p) == 39 ) goto tr4; goto st4; -st17: +st18: if ( ++p == pe ) - goto _test_eof17; -case 17: + goto _test_eof18; +case 18: if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr62; + goto tr63; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto st20; + goto st21; } else - goto st20; - goto tr61; -tr62: + goto st21; + goto tr62; +tr63: #line 1 "NONE" {te = p+1;} - goto st18; -st18: + goto st19; +st19: if ( ++p == pe ) - goto _test_eof18; -case 18: -#line 944 "fieldExprScanner.cc" + goto _test_eof19; +case 19: +#line 969 "fieldExprScanner.cc" switch( (*p) ) { case 69: goto st5; case 101: goto st5; } if ( 48 <= (*p) && (*p) <= 57 ) - goto tr62; - goto tr64; + goto tr63; + goto tr65; st5: if ( ++p == pe ) goto _test_eof5; @@ -957,56 +982,56 @@ case 5: case 45: goto st6; } if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; + goto st20; goto tr5; st6: if ( ++p == pe ) goto _test_eof6; case 6: if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; + goto st20; goto tr5; -st19: - if ( ++p == pe ) - goto _test_eof19; -case 19: - if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; - goto tr64; st20: if ( ++p == pe ) goto _test_eof20; case 20: + if ( 48 <= (*p) && (*p) <= 57 ) + goto st20; + goto tr65; +st21: + if ( ++p == pe ) + goto _test_eof21; +case 21: if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto st20; + goto st21; } else if ( (*p) >= 65 ) - goto st20; - goto tr66; -tr32: + goto st21; + goto tr67; +tr34: #line 1 "NONE" {te = p+1;} - goto st21; -st21: + goto st22; +st22: if ( ++p == pe ) - goto _test_eof21; -case 21: -#line 995 "fieldExprScanner.cc" + goto _test_eof22; +case 22: +#line 1020 "fieldExprScanner.cc" switch( (*p) ) { - case 46: goto tr62; + case 46: goto tr63; case 69: goto st5; case 101: goto st5; } if ( 48 <= (*p) && (*p) <= 57 ) - goto tr32; - goto tr64; -st22: + goto tr34; + goto tr65; +st23: if ( ++p == pe ) - goto _test_eof22; -case 22: + goto _test_eof23; +case 23: if ( (*p) == 61 ) - goto tr68; - goto tr67; + goto tr69; + goto tr68; st7: if ( ++p == pe ) goto _test_eof7; @@ -1014,2330 +1039,2365 @@ case 7: if ( (*p) == 61 ) goto tr8; goto st0; -st23: - if ( ++p == pe ) - goto _test_eof23; -case 23: - if ( (*p) == 61 ) - goto tr70; - goto tr69; st24: if ( ++p == pe ) goto _test_eof24; case 24: + if ( (*p) == 61 ) + goto tr71; + goto tr70; +st25: + if ( ++p == pe ) + goto _test_eof25; +case 25: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; -tr72: + goto tr73; + goto tr72; +tr73: #line 1 "NONE" {te = p+1;} #line 206 "fieldExprScanner.rl" {act = 73;} - goto st25; -tr76: + goto st26; +tr77: #line 1 "NONE" {te = p+1;} -#line 309 "fieldExprScanner.rl" +#line 313 "fieldExprScanner.rl" {act = 65;} - goto st25; -tr83: + goto st26; +tr84: #line 1 "NONE" {te = p+1;} -#line 277 "fieldExprScanner.rl" +#line 281 "fieldExprScanner.rl" {act = 40;} - goto st25; -tr84: + goto st26; +tr85: #line 1 "NONE" {te = p+1;} -#line 314 "fieldExprScanner.rl" +#line 318 "fieldExprScanner.rl" {act = 70;} - goto st25; -tr86: + goto st26; +tr87: #line 1 "NONE" {te = p+1;} -#line 276 "fieldExprScanner.rl" +#line 280 "fieldExprScanner.rl" {act = 39;} - goto st25; -tr90: + goto st26; +tr91: #line 1 "NONE" {te = p+1;} -#line 279 "fieldExprScanner.rl" +#line 283 "fieldExprScanner.rl" {act = 42;} - goto st25; -tr95: + goto st26; +tr96: #line 1 "NONE" {te = p+1;} -#line 295 "fieldExprScanner.rl" +#line 299 "fieldExprScanner.rl" {act = 55;} - goto st25; -tr98: + goto st26; +tr99: #line 1 "NONE" {te = p+1;} -#line 300 "fieldExprScanner.rl" +#line 304 "fieldExprScanner.rl" {act = 58;} - goto st25; -tr102: + goto st26; +tr103: #line 1 "NONE" {te = p+1;} -#line 272 "fieldExprScanner.rl" +#line 276 "fieldExprScanner.rl" {act = 35;} - goto st25; -tr105: + goto st26; +tr106: #line 1 "NONE" {te = p+1;} -#line 281 "fieldExprScanner.rl" +#line 285 "fieldExprScanner.rl" {act = 44;} - goto st25; -tr113: + goto st26; +tr114: #line 1 "NONE" {te = p+1;} -#line 264 "fieldExprScanner.rl" +#line 268 "fieldExprScanner.rl" {act = 27;} - goto st25; -tr116: + goto st26; +tr117: #line 1 "NONE" {te = p+1;} -#line 316 "fieldExprScanner.rl" +#line 320 "fieldExprScanner.rl" {act = 72;} - goto st25; -tr118: + goto st26; +tr119: #line 1 "NONE" {te = p+1;} -#line 266 "fieldExprScanner.rl" +#line 270 "fieldExprScanner.rl" {act = 29;} - goto st25; -tr122: + goto st26; +tr124: #line 1 "NONE" {te = p+1;} -#line 308 "fieldExprScanner.rl" +#line 312 "fieldExprScanner.rl" {act = 64;} - goto st25; -tr127: + goto st26; +tr130: #line 1 "NONE" {te = p+1;} -#line 268 "fieldExprScanner.rl" +#line 272 "fieldExprScanner.rl" {act = 31;} - goto st25; -tr131: + goto st26; +tr134: #line 1 "NONE" {te = p+1;} -#line 294 "fieldExprScanner.rl" +#line 298 "fieldExprScanner.rl" {act = 54;} - goto st25; -tr135: + goto st26; +tr138: #line 1 "NONE" {te = p+1;} -#line 284 "fieldExprScanner.rl" +#line 288 "fieldExprScanner.rl" {act = 47;} - goto st25; -tr136: + goto st26; +tr139: #line 1 "NONE" {te = p+1;} -#line 293 "fieldExprScanner.rl" +#line 297 "fieldExprScanner.rl" {act = 53;} - goto st25; -tr140: + goto st26; +tr143: #line 1 "NONE" {te = p+1;} -#line 289 "fieldExprScanner.rl" +#line 293 "fieldExprScanner.rl" {act = 51;} - goto st25; -tr141: + goto st26; +tr144: #line 1 "NONE" {te = p+1;} -#line 263 "fieldExprScanner.rl" +#line 267 "fieldExprScanner.rl" {act = 26;} - goto st25; -tr144: + goto st26; +tr147: #line 1 "NONE" {te = p+1;} -#line 269 "fieldExprScanner.rl" +#line 273 "fieldExprScanner.rl" {act = 32;} - goto st25; -tr146: + goto st26; +tr149: #line 1 "NONE" {te = p+1;} -#line 288 "fieldExprScanner.rl" +#line 292 "fieldExprScanner.rl" {act = 50;} - goto st25; -tr154: + goto st26; +tr157: #line 1 "NONE" {te = p+1;} -#line 265 "fieldExprScanner.rl" +#line 269 "fieldExprScanner.rl" {act = 28;} - goto st25; -tr155: + goto st26; +tr158: #line 1 "NONE" {te = p+1;} -#line 297 "fieldExprScanner.rl" +#line 301 "fieldExprScanner.rl" {act = 57;} - goto st25; -tr163: + goto st26; +tr166: #line 1 "NONE" {te = p+1;} -#line 290 "fieldExprScanner.rl" +#line 294 "fieldExprScanner.rl" {act = 52;} - goto st25; -tr165: + goto st26; +tr168: #line 1 "NONE" {te = p+1;} -#line 280 "fieldExprScanner.rl" +#line 284 "fieldExprScanner.rl" {act = 43;} - goto st25; -tr178: + goto st26; +tr181: #line 1 "NONE" {te = p+1;} -#line 304 "fieldExprScanner.rl" +#line 308 "fieldExprScanner.rl" {act = 62;} - goto st25; -tr181: + goto st26; +tr184: #line 1 "NONE" {te = p+1;} -#line 271 "fieldExprScanner.rl" +#line 275 "fieldExprScanner.rl" {act = 34;} - goto st25; -tr182: + goto st26; +tr185: #line 1 "NONE" {te = p+1;} -#line 296 "fieldExprScanner.rl" +#line 300 "fieldExprScanner.rl" {act = 56;} - goto st25; -tr190: + goto st26; +tr193: #line 1 "NONE" {te = p+1;} -#line 303 "fieldExprScanner.rl" +#line 307 "fieldExprScanner.rl" {act = 61;} - goto st25; -tr197: + goto st26; +tr200: #line 1 "NONE" {te = p+1;} -#line 282 "fieldExprScanner.rl" +#line 286 "fieldExprScanner.rl" {act = 45;} - goto st25; -tr205: + goto st26; +tr208: #line 1 "NONE" {te = p+1;} -#line 315 "fieldExprScanner.rl" +#line 319 "fieldExprScanner.rl" {act = 71;} - goto st25; -tr207: + goto st26; +tr210: #line 1 "NONE" {te = p+1;} -#line 307 "fieldExprScanner.rl" +#line 311 "fieldExprScanner.rl" {act = 63;} - goto st25; -st25: - if ( ++p == pe ) - goto _test_eof25; -case 25: -#line 1244 "fieldExprScanner.cc" - switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - } - if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; - } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; - } else - goto tr72; - goto tr73; + goto st26; st26: if ( ++p == pe ) goto _test_eof26; case 26: +#line 1269 "fieldExprScanner.cc" switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st27; + case 46: goto tr73; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr74; st27: if ( ++p == pe ) goto _test_eof27; case 27: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto st28; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st28; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st28: if ( ++p == pe ) goto _test_eof28; case 28: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto tr76; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto st29; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st29: if ( ++p == pe ) goto _test_eof29; case 29: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 99: goto st30; - case 114: goto st32; - case 115: goto st33; - case 116: goto st35; - case 118: goto st38; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto tr77; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st30: if ( ++p == pe ) goto _test_eof30; case 30: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st31; + case 46: goto tr73; + case 95: goto tr73; + case 99: goto st31; + case 114: goto st33; + case 115: goto st34; + case 116: goto st36; + case 118: goto st39; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st31: if ( ++p == pe ) goto _test_eof31; case 31: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 115: goto tr83; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st32; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st32: if ( ++p == pe ) goto _test_eof32; case 32: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto tr84; + case 46: goto tr73; + case 95: goto tr73; + case 115: goto tr84; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st33: if ( ++p == pe ) goto _test_eof33; case 33: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 105: goto st34; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto tr85; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st34: if ( ++p == pe ) goto _test_eof34; case 34: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 110: goto tr86; + case 46: goto tr73; + case 95: goto tr73; + case 105: goto st35; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st35: if ( ++p == pe ) goto _test_eof35; case 35: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st36; + case 46: goto tr73; + case 95: goto tr73; + case 110: goto tr87; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st36: if ( ++p == pe ) goto _test_eof36; case 36: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 110: goto st37; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st37; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st37: if ( ++p == pe ) goto _test_eof37; case 37: switch( (*p) ) { - case 46: goto tr72; - case 50: goto tr90; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 110: goto st38; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr89; + goto tr73; + goto tr72; st38: if ( ++p == pe ) goto _test_eof38; case 38: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st39; + case 46: goto tr73; + case 50: goto tr91; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr90; st39: if ( ++p == pe ) goto _test_eof39; case 39: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto st40; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st40; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st40: if ( ++p == pe ) goto _test_eof40; case 40: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st41; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto st41; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st41: if ( ++p == pe ) goto _test_eof41; case 41: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto st42; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st42; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st42: if ( ++p == pe ) goto _test_eof42; case 42: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto tr95; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto st43; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st43: if ( ++p == pe ) goto _test_eof43; case 43: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st44; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto tr96; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st44: if ( ++p == pe ) goto _test_eof44; case 44: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; case 111: goto st45; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st45: if ( ++p == pe ) goto _test_eof45; case 45: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 108: goto tr98; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st46; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st46: if ( ++p == pe ) goto _test_eof46; case 46: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 98: goto st47; - case 111: goto st49; + case 46: goto tr73; + case 95: goto tr73; + case 108: goto tr99; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st47: if ( ++p == pe ) goto _test_eof47; case 47: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto st48; + case 46: goto tr73; + case 95: goto tr73; + case 98: goto st48; + case 111: goto st50; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st48: if ( ++p == pe ) goto _test_eof48; case 48: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 116: goto tr102; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto st49; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st49: if ( ++p == pe ) goto _test_eof49; case 49: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 115: goto st50; + case 46: goto tr73; + case 95: goto tr73; + case 116: goto tr103; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st50: if ( ++p == pe ) goto _test_eof50; case 50: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 104: goto tr105; + case 46: goto tr73; + case 95: goto tr73; + case 115: goto st51; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr104; + goto tr73; + goto tr72; st51: if ( ++p == pe ) goto _test_eof51; case 51: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st52; + case 46: goto tr73; + case 95: goto tr73; + case 104: goto tr106; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr105; st52: if ( ++p == pe ) goto _test_eof52; case 52: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto st53; - case 108: goto st58; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st53; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st53: if ( ++p == pe ) goto _test_eof53; case 53: switch( (*p) ) { - case 46: goto tr72; - case 84: goto st54; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto st54; + case 108: goto st59; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st54: if ( ++p == pe ) goto _test_eof54; case 54: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st55; + case 46: goto tr73; + case 84: goto st55; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st55: if ( ++p == pe ) goto _test_eof55; case 55: switch( (*p) ) { - case 46: goto tr72; - case 82: goto st56; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st56; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st56: if ( ++p == pe ) goto _test_eof56; case 56: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st57; + case 46: goto tr73; + case 82: goto st57; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st57: if ( ++p == pe ) goto _test_eof57; case 57: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 100: goto tr113; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st58; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st58: if ( ++p == pe ) goto _test_eof58; case 58: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 116: goto st59; + case 46: goto tr73; + case 95: goto tr73; + case 100: goto tr114; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st59: if ( ++p == pe ) goto _test_eof59; case 59: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st60; + case 46: goto tr73; + case 95: goto tr73; + case 116: goto st60; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st60: if ( ++p == pe ) goto _test_eof60; case 60: switch( (*p) ) { - case 46: goto tr72; - case 84: goto tr116; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st61; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st61: if ( ++p == pe ) goto _test_eof61; case 61: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 120: goto st62; + case 46: goto tr73; + case 84: goto tr117; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st62: if ( ++p == pe ) goto _test_eof62; case 62: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 112: goto tr118; + case 46: goto tr73; + case 95: goto tr73; + case 120: goto st63; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st63: if ( ++p == pe ) goto _test_eof63; case 63: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st64; + case 46: goto tr73; + case 95: goto tr73; + case 112: goto tr119; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st64: if ( ++p == pe ) goto _test_eof64; case 64: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 108: goto st65; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st65; + case 110: goto tr121; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st65: if ( ++p == pe ) goto _test_eof65; case 65: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 115: goto st66; + case 46: goto tr73; + case 95: goto tr73; + case 108: goto st66; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st66: if ( ++p == pe ) goto _test_eof66; case 66: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto tr122; + case 46: goto tr73; + case 95: goto tr73; + case 115: goto st67; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st67: if ( ++p == pe ) goto _test_eof67; case 67: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st68; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto tr124; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; +tr121: +#line 1 "NONE" + {te = p+1;} + goto st68; st68: if ( ++p == pe ) goto _test_eof68; case 68: +#line 2036 "fieldExprScanner.cc" switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto st69; + case 46: goto tr73; + case 58: goto st8; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; +st8: + if ( ++p == pe ) + goto _test_eof8; +case 8: + if ( (*p) == 95 ) + goto st25; + if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto st25; + } else if ( (*p) >= 65 ) + goto st25; + goto tr9; st69: if ( ++p == pe ) goto _test_eof69; case 69: switch( (*p) ) { - case 46: goto tr72; - case 49: goto st70; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st70; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr125; + goto tr73; + goto tr72; st70: if ( ++p == pe ) goto _test_eof70; case 70: switch( (*p) ) { - case 46: goto tr72; - case 48: goto tr127; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto st71; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr72; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st71: if ( ++p == pe ) goto _test_eof71; case 71: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st72; - case 105: goto st76; + case 46: goto tr73; + case 49: goto st72; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr128; st72: if ( ++p == pe ) goto _test_eof72; case 72: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto st73; - case 120: goto tr131; + case 46: goto tr73; + case 48: goto tr130; + case 95: goto tr73; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st73: if ( ++p == pe ) goto _test_eof73; case 73: switch( (*p) ) { - case 46: goto tr72; - case 83: goto st74; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st74; + case 105: goto st78; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr132; + goto tr73; + goto tr72; st74: if ( ++p == pe ) goto _test_eof74; case 74: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 113: goto st75; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto st75; + case 120: goto tr134; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st75: if ( ++p == pe ) goto _test_eof75; case 75: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto tr135; + case 46: goto tr73; + case 83: goto st76; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr135; st76: if ( ++p == pe ) goto _test_eof76; case 76: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 110: goto tr136; + case 46: goto tr73; + case 95: goto tr73; + case 113: goto st77; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st77: if ( ++p == pe ) goto _test_eof77; case 77: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st78; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto tr138; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st78: if ( ++p == pe ) goto _test_eof78; case 78: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto st79; + case 46: goto tr73; + case 95: goto tr73; + case 110: goto tr139; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st79: if ( ++p == pe ) goto _test_eof79; case 79: switch( (*p) ) { - case 46: goto tr72; - case 48: goto tr140; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st80; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr72; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr139; + goto tr73; + goto tr72; st80: if ( ++p == pe ) goto _test_eof80; case 80: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 105: goto tr141; - case 111: goto st81; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto st81; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st81: if ( ++p == pe ) goto _test_eof81; case 81: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 115: goto st82; - case 119: goto tr144; + case 46: goto tr73; + case 48: goto tr143; + case 95: goto tr73; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr142; st82: if ( ++p == pe ) goto _test_eof82; case 82: switch( (*p) ) { - case 46: goto tr72; - case 48: goto tr146; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 105: goto tr144; + case 111: goto st83; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr72; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr145; + goto tr73; + goto tr72; st83: if ( ++p == pe ) goto _test_eof83; case 83: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st84; + case 46: goto tr73; + case 95: goto tr73; + case 115: goto st84; + case 119: goto tr147; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st84: if ( ++p == pe ) goto _test_eof84; case 84: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 100: goto st85; - case 110: goto st90; + case 46: goto tr73; + case 48: goto tr149; + case 95: goto tr73; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr148; st85: if ( ++p == pe ) goto _test_eof85; case 85: switch( (*p) ) { - case 46: goto tr72; - case 84: goto st86; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st86; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st86: if ( ++p == pe ) goto _test_eof86; case 86: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st87; + case 46: goto tr73; + case 95: goto tr73; + case 100: goto st87; + case 110: goto st92; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st87: if ( ++p == pe ) goto _test_eof87; case 87: switch( (*p) ) { - case 46: goto tr72; - case 68: goto st88; - case 95: goto tr72; + case 46: goto tr73; + case 84: goto st88; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st88: if ( ++p == pe ) goto _test_eof88; case 88: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st89; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st89; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st89: if ( ++p == pe ) goto _test_eof89; case 89: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto tr154; + case 46: goto tr73; + case 68: goto st90; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st90: if ( ++p == pe ) goto _test_eof90; case 90: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 100: goto tr155; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st91; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st91: if ( ++p == pe ) goto _test_eof91; case 91: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 105: goto st92; - case 112: goto st95; - case 113: goto st108; - case 117: goto st110; - case 121: goto st111; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto tr157; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st92: if ( ++p == pe ) goto _test_eof92; case 92: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 103: goto st93; - case 110: goto st94; + case 46: goto tr73; + case 95: goto tr73; + case 100: goto tr158; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st93: if ( ++p == pe ) goto _test_eof93; case 93: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 110: goto tr163; + case 46: goto tr73; + case 95: goto tr73; + case 105: goto st94; + case 112: goto st97; + case 113: goto st110; + case 117: goto st112; + case 121: goto st113; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st94: if ( ++p == pe ) goto _test_eof94; case 94: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 104: goto tr165; + case 46: goto tr73; + case 95: goto tr73; + case 103: goto st95; + case 110: goto st96; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr164; + goto tr73; + goto tr72; st95: if ( ++p == pe ) goto _test_eof95; case 95: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 104: goto st96; + case 46: goto tr73; + case 95: goto tr73; + case 110: goto tr166; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st96: if ( ++p == pe ) goto _test_eof96; case 96: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st97; + case 46: goto tr73; + case 95: goto tr73; + case 104: goto tr168; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr167; st97: if ( ++p == pe ) goto _test_eof97; case 97: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto st98; + case 46: goto tr73; + case 95: goto tr73; + case 104: goto st98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st98: if ( ++p == pe ) goto _test_eof98; case 98: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 105: goto st99; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st99; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st99: if ( ++p == pe ) goto _test_eof99; case 99: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 99: goto st100; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto st100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st100: if ( ++p == pe ) goto _test_eof100; case 100: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st101; + case 46: goto tr73; + case 95: goto tr73; + case 105: goto st101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st101: if ( ++p == pe ) goto _test_eof101; case 101: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 108: goto st102; + case 46: goto tr73; + case 95: goto tr73; + case 99: goto st102; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st102: if ( ++p == pe ) goto _test_eof102; case 102: switch( (*p) ) { - case 46: goto tr72; - case 84: goto st103; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st103; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st103: if ( ++p == pe ) goto _test_eof103; case 103: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st104; + case 46: goto tr73; + case 95: goto tr73; + case 108: goto st104; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st104: if ( ++p == pe ) goto _test_eof104; case 104: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 110: goto st105; + case 46: goto tr73; + case 84: goto st105; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st105: if ( ++p == pe ) goto _test_eof105; case 105: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 115: goto st106; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st106; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st106: if ( ++p == pe ) goto _test_eof106; case 106: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st107; + case 46: goto tr73; + case 95: goto tr73; + case 110: goto st107; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st107: if ( ++p == pe ) goto _test_eof107; case 107: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto tr178; + case 46: goto tr73; + case 95: goto tr73; + case 115: goto st108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st108: if ( ++p == pe ) goto _test_eof108; case 108: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto st109; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st109; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st109: if ( ++p == pe ) goto _test_eof109; case 109: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 116: goto tr181; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto tr181; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr180; + goto tr73; + goto tr72; st110: if ( ++p == pe ) goto _test_eof110; case 110: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 109: goto tr182; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto st111; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st111: if ( ++p == pe ) goto _test_eof111; case 111: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 109: goto st112; + case 46: goto tr73; + case 95: goto tr73; + case 116: goto tr184; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr183; st112: if ( ++p == pe ) goto _test_eof112; case 112: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 109: goto st113; + case 46: goto tr73; + case 95: goto tr73; + case 109: goto tr185; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st113: if ( ++p == pe ) goto _test_eof113; case 113: switch( (*p) ) { - case 46: goto tr72; - case 84: goto st114; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 109: goto st114; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st114: if ( ++p == pe ) goto _test_eof114; case 114: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st115; + case 46: goto tr73; + case 95: goto tr73; + case 109: goto st115; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st115: if ( ++p == pe ) goto _test_eof115; case 115: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 110: goto st116; + case 46: goto tr73; + case 84: goto st116; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st116: if ( ++p == pe ) goto _test_eof116; case 116: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 115: goto st117; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st117; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st117: if ( ++p == pe ) goto _test_eof117; case 117: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st118; + case 46: goto tr73; + case 95: goto tr73; + case 110: goto st118; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st118: if ( ++p == pe ) goto _test_eof118; case 118: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto tr190; + case 46: goto tr73; + case 95: goto tr73; + case 115: goto st119; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st119: if ( ++p == pe ) goto _test_eof119; case 119: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 97: goto st120; - case 101: goto st122; - case 105: goto st127; - case 114: goto st129; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st120; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st120: if ( ++p == pe ) goto _test_eof120; case 120: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 110: goto st121; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto tr193; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st121: if ( ++p == pe ) goto _test_eof121; case 121: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 104: goto tr197; + case 46: goto tr73; + case 95: goto tr73; + case 97: goto st122; + case 101: goto st124; + case 105: goto st129; + case 114: goto st131; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr73; } else - goto tr72; - goto tr196; + goto tr73; + goto tr72; st122: if ( ++p == pe ) goto _test_eof122; case 122: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; case 110: goto st123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st123: if ( ++p == pe ) goto _test_eof123; case 123: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 115: goto st124; + case 46: goto tr73; + case 95: goto tr73; + case 104: goto tr200; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr199; st124: if ( ++p == pe ) goto _test_eof124; case 124: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st125; + case 46: goto tr73; + case 95: goto tr73; + case 110: goto st125; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st125: if ( ++p == pe ) goto _test_eof125; case 125: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto tr201; + case 46: goto tr73; + case 95: goto tr73; + case 115: goto st126; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; -tr201: -#line 1 "NONE" - {te = p+1;} - goto st126; + goto tr73; + goto tr72; st126: if ( ++p == pe ) goto _test_eof126; case 126: -#line 3085 "fieldExprScanner.cc" switch( (*p) ) { - case 46: goto tr72; - case 58: goto st8; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr202; -st8: - if ( ++p == pe ) - goto _test_eof8; -case 8: - if ( (*p) == 58 ) - goto st9; - goto tr9; -st9: - if ( ++p == pe ) - goto _test_eof9; -case 9: - if ( (*p) == 73 ) - goto tr11; - goto tr9; + goto tr73; + goto tr72; st127: if ( ++p == pe ) goto _test_eof127; case 127: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 109: goto st128; + case 46: goto tr73; + case 95: goto tr73; + case 114: goto tr204; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; +tr204: +#line 1 "NONE" + {te = p+1;} + goto st128; st128: if ( ++p == pe ) goto _test_eof128; case 128: +#line 3146 "fieldExprScanner.cc" switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto tr205; + case 46: goto tr73; + case 58: goto st9; + case 95: goto tr73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr205; +st9: + if ( ++p == pe ) + goto _test_eof9; +case 9: + if ( (*p) == 58 ) + goto st10; + goto tr11; +st10: + if ( ++p == pe ) + goto _test_eof10; +case 10: + if ( (*p) == 73 ) + goto tr13; + goto tr11; st129: if ( ++p == pe ) goto _test_eof129; case 129: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 117: goto st130; + case 46: goto tr73; + case 95: goto tr73; + case 109: goto st130; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st130: if ( ++p == pe ) goto _test_eof130; case 130: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto tr207; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto tr208; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st131: if ( ++p == pe ) goto _test_eof131; case 131: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 101: goto st132; + case 46: goto tr73; + case 95: goto tr73; + case 117: goto st132; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st132: if ( ++p == pe ) goto _test_eof132; case 132: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 99: goto st133; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto tr210; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st133: if ( ++p == pe ) goto _test_eof133; case 133: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 116: goto st134; + case 46: goto tr73; + case 95: goto tr73; + case 101: goto st134; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st134: if ( ++p == pe ) goto _test_eof134; case 134: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 111: goto st135; + case 46: goto tr73; + case 95: goto tr73; + case 99: goto st135; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; + goto tr73; + goto tr72; st135: if ( ++p == pe ) goto _test_eof135; case 135: switch( (*p) ) { - case 46: goto tr72; - case 95: goto tr72; - case 114: goto tr212; + case 46: goto tr73; + case 95: goto tr73; + case 116: goto st136; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr71; -tr212: -#line 1 "NONE" - {te = p+1;} - goto st136; + goto tr73; + goto tr72; st136: if ( ++p == pe ) goto _test_eof136; case 136: -#line 3284 "fieldExprScanner.cc" switch( (*p) ) { - case 46: goto tr72; - case 58: goto st10; - case 95: goto tr72; + case 46: goto tr73; + case 95: goto tr73; + case 111: goto st137; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr72; + goto tr73; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr72; + goto tr73; } else - goto tr72; - goto tr213; -st10: + goto tr73; + goto tr72; +st137: if ( ++p == pe ) - goto _test_eof10; -case 10: - if ( (*p) == 58 ) - goto st11; - goto tr12; + goto _test_eof137; +case 137: + switch( (*p) ) { + case 46: goto tr73; + case 95: goto tr73; + case 114: goto tr215; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr73; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; + } else + goto tr73; + goto tr72; +tr215: +#line 1 "NONE" + {te = p+1;} + goto st138; +st138: + if ( ++p == pe ) + goto _test_eof138; +case 138: +#line 3345 "fieldExprScanner.cc" + switch( (*p) ) { + case 46: goto tr73; + case 58: goto st11; + case 95: goto tr73; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr73; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr73; + } else + goto tr73; + goto tr216; st11: if ( ++p == pe ) goto _test_eof11; case 11: - switch( (*p) ) { - case 120: goto tr14; - case 121: goto tr15; - case 122: goto tr16; - } - goto tr12; + if ( (*p) == 58 ) + goto st12; + goto tr14; st12: if ( ++p == pe ) goto _test_eof12; case 12: + switch( (*p) ) { + case 120: goto tr16; + case 121: goto tr17; + case 122: goto tr18; + } + goto tr14; +st13: + if ( ++p == pe ) + goto _test_eof13; +case 13: if ( (*p) == 124 ) - goto tr17; + goto tr19; goto st0; } - _test_eof13: cs = 13; goto _test_eof; _test_eof14: cs = 14; goto _test_eof; _test_eof15: cs = 15; goto _test_eof; + _test_eof16: cs = 16; goto _test_eof; _test_eof1: cs = 1; goto _test_eof; _test_eof2: cs = 2; goto _test_eof; - _test_eof16: cs = 16; goto _test_eof; + _test_eof17: cs = 17; goto _test_eof; _test_eof3: cs = 3; goto _test_eof; _test_eof4: cs = 4; goto _test_eof; - _test_eof17: cs = 17; goto _test_eof; _test_eof18: cs = 18; goto _test_eof; + _test_eof19: cs = 19; goto _test_eof; _test_eof5: cs = 5; goto _test_eof; _test_eof6: cs = 6; goto _test_eof; - _test_eof19: cs = 19; goto _test_eof; _test_eof20: cs = 20; goto _test_eof; _test_eof21: cs = 21; goto _test_eof; _test_eof22: cs = 22; goto _test_eof; - _test_eof7: cs = 7; goto _test_eof; _test_eof23: cs = 23; goto _test_eof; + _test_eof7: cs = 7; goto _test_eof; _test_eof24: cs = 24; goto _test_eof; _test_eof25: cs = 25; goto _test_eof; _test_eof26: cs = 26; goto _test_eof; @@ -3383,6 +3443,7 @@ case 12: _test_eof66: cs = 66; goto _test_eof; _test_eof67: cs = 67; goto _test_eof; _test_eof68: cs = 68; goto _test_eof; + _test_eof8: cs = 8; goto _test_eof; _test_eof69: cs = 69; goto _test_eof; _test_eof70: cs = 70; goto _test_eof; _test_eof71: cs = 71; goto _test_eof; @@ -3441,10 +3502,10 @@ case 12: _test_eof124: cs = 124; goto _test_eof; _test_eof125: cs = 125; goto _test_eof; _test_eof126: cs = 126; goto _test_eof; - _test_eof8: cs = 8; goto _test_eof; - _test_eof9: cs = 9; goto _test_eof; _test_eof127: cs = 127; goto _test_eof; _test_eof128: cs = 128; goto _test_eof; + _test_eof9: cs = 9; goto _test_eof; + _test_eof10: cs = 10; goto _test_eof; _test_eof129: cs = 129; goto _test_eof; _test_eof130: cs = 130; goto _test_eof; _test_eof131: cs = 131; goto _test_eof; @@ -3453,150 +3514,154 @@ case 12: _test_eof134: cs = 134; goto _test_eof; _test_eof135: cs = 135; goto _test_eof; _test_eof136: cs = 136; goto _test_eof; - _test_eof10: cs = 10; goto _test_eof; + _test_eof137: cs = 137; goto _test_eof; + _test_eof138: cs = 138; goto _test_eof; _test_eof11: cs = 11; goto _test_eof; _test_eof12: cs = 12; goto _test_eof; + _test_eof13: cs = 13; goto _test_eof; _test_eof: {} if ( p == eof ) { switch ( cs ) { - case 14: goto tr56; case 15: goto tr57; - case 16: goto tr59; - case 17: goto tr61; - case 18: goto tr64; + case 16: goto tr58; + case 17: goto tr60; + case 18: goto tr62; + case 19: goto tr65; case 5: goto tr5; case 6: goto tr5; - case 19: goto tr64; - case 20: goto tr66; - case 21: goto tr64; - case 22: goto tr67; - case 23: goto tr69; - case 24: goto tr71; - case 25: goto tr73; - case 26: goto tr71; - case 27: goto tr71; - case 28: goto tr71; - case 29: goto tr71; - case 30: goto tr71; - case 31: goto tr71; - case 32: goto tr71; - case 33: goto tr71; - case 34: goto tr71; - case 35: goto tr71; - case 36: goto tr71; - case 37: goto tr89; - case 38: goto tr71; - case 39: goto tr71; - case 40: goto tr71; - case 41: goto tr71; - case 42: goto tr71; - case 43: goto tr71; - case 44: goto tr71; - case 45: goto tr71; - case 46: goto tr71; - case 47: goto tr71; - case 48: goto tr71; - case 49: goto tr71; - case 50: goto tr104; - case 51: goto tr71; - case 52: goto tr71; - case 53: goto tr71; - case 54: goto tr71; - case 55: goto tr71; - case 56: goto tr71; - case 57: goto tr71; - case 58: goto tr71; - case 59: goto tr71; - case 60: goto tr71; - case 61: goto tr71; - case 62: goto tr71; - case 63: goto tr71; - case 64: goto tr71; - case 65: goto tr71; - case 66: goto tr71; - case 67: goto tr71; - case 68: goto tr71; - case 69: goto tr125; - case 70: goto tr71; - case 71: goto tr71; - case 72: goto tr71; - case 73: goto tr132; - case 74: goto tr71; - case 75: goto tr71; - case 76: goto tr71; - case 77: goto tr71; - case 78: goto tr71; - case 79: goto tr139; - case 80: goto tr71; - case 81: goto tr71; - case 82: goto tr145; - case 83: goto tr71; - case 84: goto tr71; - case 85: goto tr71; - case 86: goto tr71; - case 87: goto tr71; - case 88: goto tr71; - case 89: goto tr71; - case 90: goto tr71; - case 91: goto tr71; - case 92: goto tr71; - case 93: goto tr71; - case 94: goto tr164; - case 95: goto tr71; - case 96: goto tr71; - case 97: goto tr71; - case 98: goto tr71; - case 99: goto tr71; - case 100: goto tr71; - case 101: goto tr71; - case 102: goto tr71; - case 103: goto tr71; - case 104: goto tr71; - case 105: goto tr71; - case 106: goto tr71; - case 107: goto tr71; - case 108: goto tr71; - case 109: goto tr180; - case 110: goto tr71; - case 111: goto tr71; - case 112: goto tr71; - case 113: goto tr71; - case 114: goto tr71; - case 115: goto tr71; - case 116: goto tr71; - case 117: goto tr71; - case 118: goto tr71; - case 119: goto tr71; - case 120: goto tr71; - case 121: goto tr196; - case 122: goto tr71; - case 123: goto tr71; - case 124: goto tr71; - case 125: goto tr71; - case 126: goto tr202; + case 20: goto tr65; + case 21: goto tr67; + case 22: goto tr65; + case 23: goto tr68; + case 24: goto tr70; + case 25: goto tr72; + case 26: goto tr74; + case 27: goto tr72; + case 28: goto tr72; + case 29: goto tr72; + case 30: goto tr72; + case 31: goto tr72; + case 32: goto tr72; + case 33: goto tr72; + case 34: goto tr72; + case 35: goto tr72; + case 36: goto tr72; + case 37: goto tr72; + case 38: goto tr90; + case 39: goto tr72; + case 40: goto tr72; + case 41: goto tr72; + case 42: goto tr72; + case 43: goto tr72; + case 44: goto tr72; + case 45: goto tr72; + case 46: goto tr72; + case 47: goto tr72; + case 48: goto tr72; + case 49: goto tr72; + case 50: goto tr72; + case 51: goto tr105; + case 52: goto tr72; + case 53: goto tr72; + case 54: goto tr72; + case 55: goto tr72; + case 56: goto tr72; + case 57: goto tr72; + case 58: goto tr72; + case 59: goto tr72; + case 60: goto tr72; + case 61: goto tr72; + case 62: goto tr72; + case 63: goto tr72; + case 64: goto tr72; + case 65: goto tr72; + case 66: goto tr72; + case 67: goto tr72; + case 68: goto tr72; case 8: goto tr9; - case 9: goto tr9; - case 127: goto tr71; - case 128: goto tr71; - case 129: goto tr71; - case 130: goto tr71; - case 131: goto tr71; - case 132: goto tr71; - case 133: goto tr71; - case 134: goto tr71; - case 135: goto tr71; - case 136: goto tr213; - case 10: goto tr12; - case 11: goto tr12; + case 69: goto tr72; + case 70: goto tr72; + case 71: goto tr128; + case 72: goto tr72; + case 73: goto tr72; + case 74: goto tr72; + case 75: goto tr135; + case 76: goto tr72; + case 77: goto tr72; + case 78: goto tr72; + case 79: goto tr72; + case 80: goto tr72; + case 81: goto tr142; + case 82: goto tr72; + case 83: goto tr72; + case 84: goto tr148; + case 85: goto tr72; + case 86: goto tr72; + case 87: goto tr72; + case 88: goto tr72; + case 89: goto tr72; + case 90: goto tr72; + case 91: goto tr72; + case 92: goto tr72; + case 93: goto tr72; + case 94: goto tr72; + case 95: goto tr72; + case 96: goto tr167; + case 97: goto tr72; + case 98: goto tr72; + case 99: goto tr72; + case 100: goto tr72; + case 101: goto tr72; + case 102: goto tr72; + case 103: goto tr72; + case 104: goto tr72; + case 105: goto tr72; + case 106: goto tr72; + case 107: goto tr72; + case 108: goto tr72; + case 109: goto tr72; + case 110: goto tr72; + case 111: goto tr183; + case 112: goto tr72; + case 113: goto tr72; + case 114: goto tr72; + case 115: goto tr72; + case 116: goto tr72; + case 117: goto tr72; + case 118: goto tr72; + case 119: goto tr72; + case 120: goto tr72; + case 121: goto tr72; + case 122: goto tr72; + case 123: goto tr199; + case 124: goto tr72; + case 125: goto tr72; + case 126: goto tr72; + case 127: goto tr72; + case 128: goto tr205; + case 9: goto tr11; + case 10: goto tr11; + case 129: goto tr72; + case 130: goto tr72; + case 131: goto tr72; + case 132: goto tr72; + case 133: goto tr72; + case 134: goto tr72; + case 135: goto tr72; + case 136: goto tr72; + case 137: goto tr72; + case 138: goto tr216; + case 11: goto tr14; + case 12: goto tr14; } } _out: {} } -#line 568 "fieldExprScanner.rl" +#line 588 "fieldExprScanner.rl" /* ^^^ FSM execution here ^^^ */; if (0 == cs) diff --git a/src/OpenFOAM/expressions/fields/fieldExprScanner.rl b/src/OpenFOAM/expressions/fields/fieldExprScanner.rl index 4fded905430aa899a313b8c543338b37b6c48bb8..8511398817bb046d374058492e110ec4af08773b 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprScanner.rl +++ b/src/OpenFOAM/expressions/fields/fieldExprScanner.rl @@ -219,12 +219,16 @@ static int driverTokenType decimal = ((digit* '.' digit+) | (digit+ '.'?)) ; number = ((digit+ | decimal) ([Ee][\-+]? digit+)?) ; - ident = ((alpha|'_') . ((alnum|[._])**)) ; + identifier = ((alpha|'_') . ((alnum|[._])**)) ; dquoted = '"' [^\"]+ '"' ; squoted = "'" [^\']+ "'" ; + ## Allow 'fn:' prefix for function identifier + ident = ('fn:')? identifier ; + ## =========== ## The scanner + ## =========== main := |* space*; @@ -431,6 +435,22 @@ bool Foam::expressions::fieldExpr::scanner::dispatch_ident do { + #undef doLocalCode + #define doLocalCode(TokType, Type) \ + if (driver_.isFunction<Type>(funcName)) \ + { \ + ident = std::move(funcName); \ + tokType = TokType; \ + break; \ + } + + #ifdef TOK_SCALAR_FUNCTION_ID + doLocalCode(TOK_SCALAR_FUNCTION_ID, scalar); + #endif + #ifdef TOK_VECTOR_FUNCTION_ID + doLocalCode(TOK_VECTOR_FUNCTION_ID, vector); + #endif + #undef doLocalCode } while (false); } diff --git a/src/finiteVolume/expressions/base/fvExprDriverIO.C b/src/finiteVolume/expressions/base/fvExprDriverIO.C index 33c5f1dff6c601f4c143148ce347b573368d92f7..fc24a89f4fdbcdc066e2f359357f601eaca2181e 100644 --- a/src/finiteVolume/expressions/base/fvExprDriverIO.C +++ b/src/finiteVolume/expressions/base/fvExprDriverIO.C @@ -251,9 +251,8 @@ Foam::Ostream& Foam::expressions::fvExprDriver::writeCommon os.writeEntry("globalScopes", globalScopes_); } - // writeTable(os, "timelines", lines_); - // writeTable(os, "lookuptables", lookup_); - // writeTable(os, "lookuptables2D", lookup2D_); + // Write "functions<scalar>" ... + writeFunctions(os); return os; } diff --git a/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 b/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 index 0ebd48bc6b3a1cc4c7663979d6ed6f9115de19ff..71b223566900de2c000b02000fcc333cf99480d3 100644 --- a/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 +++ b/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 @@ -139,8 +139,11 @@ svalue (lhs) ::= DELTA_T LPAREN RPAREN . { lhs = driver->deltaT(); } svalue (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN RPAREN . { - driver->reportFatal("Not implemented: " + make_obj(name.name_)); - lhs = 0; + lhs = driver->getFunctionValue<Foam::scalar> + ( + make_obj(name.name_), + driver->timeValue() + ); } /*---------------------------------------------------------------------------*\ @@ -158,8 +161,12 @@ vvalue (lhs) ::= VECTOR_VALUE (tok) . vvalue (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN RPAREN . { - driver->reportFatal("Not implemented: " + make_obj(name.name_)); - lhs = new Foam::vector(0,0,0); + auto val = driver->getFunctionValue<Foam::vector> + ( + make_obj(name.name_), + driver->timeValue() + ); + lhs = new Foam::vector(val); } @@ -221,8 +228,12 @@ _target_ (lhs) ::= RAND LPAREN NUMBER (seed) RPAREN. _target_ (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -253,8 +264,12 @@ rules_vector_functions() _target_ (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -397,8 +412,12 @@ rule_binary_func(_target_, _target_, _target_, HYPOT, Foam::hypot) _target_ (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -425,8 +444,12 @@ rules_vector_functions() _target_ (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } diff --git a/src/finiteVolume/expressions/patch/patchExprScanner.cc b/src/finiteVolume/expressions/patch/patchExprScanner.cc index 6b6c37a860133ed720645d2c33f964807f9c8a46..db0119c3872ab4aec92ae78f83ef86d5a2137263 100644 --- a/src/finiteVolume/expressions/patch/patchExprScanner.cc +++ b/src/finiteVolume/expressions/patch/patchExprScanner.cc @@ -311,14 +311,14 @@ static int driverTokenType #line 314 "patchExprScanner.cc" -static const int patchExpr_start = 13; -static const int patchExpr_first_final = 13; +static const int patchExpr_start = 14; +static const int patchExpr_first_final = 14; static const int patchExpr_error = 0; -static const int patchExpr_en_main = 13; +static const int patchExpr_en_main = 14; -#line 466 "patchExprScanner.rl" +#line 470 "patchExprScanner.rl" @@ -427,6 +427,22 @@ bool Foam::expressions::patchExpr::scanner::dispatch_ident do { + #undef doLocalCode + #define doLocalCode(TokType, Type) \ + if (driver_.isFunction<Type>(funcName)) \ + { \ + ident = std::move(funcName); \ + tokType = TokType; \ + break; \ + } + + #ifdef TOK_SCALAR_FUNCTION_ID + doLocalCode(TOK_SCALAR_FUNCTION_ID, scalar); + #endif + #ifdef TOK_VECTOR_FUNCTION_ID + doLocalCode(TOK_VECTOR_FUNCTION_ID, vector); + #endif + #undef doLocalCode } while (false); } @@ -560,7 +576,7 @@ bool Foam::expressions::patchExpr::scanner::process // Initialize FSM variables -#line 564 "patchExprScanner.cc" +#line 580 "patchExprScanner.cc" { cs = patchExpr_start; ts = 0; @@ -568,11 +584,11 @@ bool Foam::expressions::patchExpr::scanner::process act = 0; } -#line 706 "patchExprScanner.rl" +#line 726 "patchExprScanner.rl" /* ^^^ FSM initialization here ^^^ */; -#line 576 "patchExprScanner.cc" +#line 592 "patchExprScanner.cc" { if ( p == pe ) goto _test_eof; @@ -586,7 +602,7 @@ tr2: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr4: #line 339 "patchExprScanner.rl" {te = p+1;{ @@ -595,7 +611,7 @@ tr4: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr5: #line 314 "patchExprScanner.rl" {{p = ((te))-1;}{ @@ -622,108 +638,117 @@ tr5: driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr8: -#line 383 "patchExprScanner.rl" +#line 387 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(EQUAL); }} - goto st13; + goto st14; tr9: -#line 442 "patchExprScanner.rl" - {{p = ((te))-1;}{ EMIT_TOKEN(TENSOR); }} - goto st13; +#line 339 "patchExprScanner.rl" + {{p = ((te))-1;}{ + // Emit identifier + driver_.parsePosition() = (ts-buf); + dispatch_ident(driver_, word(ts, te-ts, false)); + driver_.parsePosition() = (p-buf); + }} + goto st14; tr11: -#line 453 "patchExprScanner.rl" +#line 446 "patchExprScanner.rl" + {{p = ((te))-1;}{ EMIT_TOKEN(TENSOR); }} + goto st14; +tr13: +#line 457 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(IDENTITY_TENSOR); }} - goto st13; -tr12: -#line 441 "patchExprScanner.rl" - {{p = ((te))-1;}{ EMIT_TOKEN(VECTOR); }} - goto st13; + goto st14; tr14: -#line 450 "patchExprScanner.rl" +#line 445 "patchExprScanner.rl" + {{p = ((te))-1;}{ EMIT_TOKEN(VECTOR); }} + goto st14; +tr16: +#line 454 "patchExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(1,0,0); }} - goto st13; -tr15: -#line 451 "patchExprScanner.rl" + goto st14; +tr17: +#line 455 "patchExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(0,1,0); }} - goto st13; -tr16: -#line 452 "patchExprScanner.rl" + goto st14; +tr18: +#line 456 "patchExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(0,0,1); }} - goto st13; -tr17: -#line 386 "patchExprScanner.rl" + goto st14; +tr19: +#line 390 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(LOR); }} - goto st13; -tr21: -#line 368 "patchExprScanner.rl" + goto st14; +tr23: +#line 372 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(PERCENT); }} - goto st13; -tr24: -#line 369 "patchExprScanner.rl" + goto st14; +tr26: +#line 373 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(LPAREN); }} - goto st13; -tr25: -#line 370 "patchExprScanner.rl" + goto st14; +tr27: +#line 374 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(RPAREN); }} - goto st13; -tr26: -#line 371 "patchExprScanner.rl" + goto st14; +tr28: +#line 375 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(TIMES); }} - goto st13; -tr27: -#line 372 "patchExprScanner.rl" + goto st14; +tr29: +#line 376 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(PLUS); }} - goto st13; -tr28: -#line 374 "patchExprScanner.rl" + goto st14; +tr30: +#line 378 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(COMMA); }} - goto st13; -tr29: -#line 373 "patchExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(MINUS); }} - goto st13; + goto st14; tr31: -#line 376 "patchExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(DIVIDE); }} - goto st13; +#line 377 "patchExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(MINUS); }} + goto st14; tr33: -#line 378 "patchExprScanner.rl" +#line 380 "patchExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(DIVIDE); }} + goto st14; +tr35: +#line 382 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(COLON); }} - goto st13; -tr37: -#line 377 "patchExprScanner.rl" + goto st14; +tr39: +#line 381 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(QUESTION); }} - goto st13; -tr40: -#line 389 "patchExprScanner.rl" + goto st14; +tr41: +#line 393 "patchExprScanner.rl" {te = p+1;{ EMIT_TOKEN(BIT_XOR); }} - goto st13; -tr58: -#line 362 "patchExprScanner.rl" - {te = p;p--;} - goto st13; + goto st14; tr59: -#line 367 "patchExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(LNOT); }} - goto st13; +#line 366 "patchExprScanner.rl" + {te = p;p--;} + goto st14; tr60: -#line 384 "patchExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(NOT_EQUAL); }} - goto st13; +#line 371 "patchExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(LNOT); }} + goto st14; tr61: -#line 387 "patchExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(BIT_AND); }} - goto st13; +#line 388 "patchExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(NOT_EQUAL); }} + goto st14; tr62: -#line 385 "patchExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(LAND); }} - goto st13; +#line 391 "patchExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(BIT_AND); }} + goto st14; tr63: -#line 375 "patchExprScanner.rl" +#line 389 "patchExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(LAND); }} + goto st14; +tr64: +#line 379 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(DOT); }} - goto st13; -tr66: + goto st14; +tr67: #line 314 "patchExprScanner.rl" {te = p;p--;{ // Emit number @@ -749,8 +774,8 @@ tr66: driver_.parsePosition() = (p-buf); }} - goto st13; -tr68: + goto st14; +tr69: #line 346 "patchExprScanner.rl" {te = p;p--;{ // Tokenized ".method" - dispatch '.' and "method" separately @@ -758,24 +783,24 @@ tr68: dispatch_method(driver_, word(ts+1, te-ts-1, false)); driver_.parsePosition() = (p-buf); }} - goto st13; -tr69: -#line 379 "patchExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(LESS); }} - goto st13; + goto st14; tr70: -#line 380 "patchExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(LESS_EQ); }} - goto st13; +#line 383 "patchExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(LESS); }} + goto st14; tr71: -#line 381 "patchExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(GREATER); }} - goto st13; +#line 384 "patchExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(LESS_EQ); }} + goto st14; tr72: -#line 382 "patchExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(GREATER_EQ); }} - goto st13; +#line 385 "patchExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(GREATER); }} + goto st14; tr73: +#line 386 "patchExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(GREATER_EQ); }} + goto st14; +tr74: #line 339 "patchExprScanner.rl" {te = p;p--;{ // Emit identifier @@ -783,8 +808,8 @@ tr73: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; -tr75: + goto st14; +tr76: #line 1 "NONE" { switch( act ) { case 26: @@ -908,132 +933,132 @@ tr75: break; } } - goto st13; -tr91: -#line 411 "patchExprScanner.rl" + goto st14; +tr92: +#line 415 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(ATAN); }} - goto st13; -tr106: -#line 407 "patchExprScanner.rl" + goto st14; +tr107: +#line 411 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(COS); }} - goto st13; -tr139: -#line 400 "patchExprScanner.rl" + goto st14; +tr142: +#line 404 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(LOG); }} - goto st13; -tr146: -#line 416 "patchExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(MAG); }} - goto st13; -tr154: + goto st14; +tr149: #line 420 "patchExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(MAG); }} + goto st14; +tr157: +#line 424 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(NEG); }} - goto st13; -tr171: -#line 419 "patchExprScanner.rl" + goto st14; +tr174: +#line 423 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(POS); }} - goto st13; -tr191: -#line 406 "patchExprScanner.rl" + goto st14; +tr194: +#line 410 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SIN); }} - goto st13; -tr211: -#line 403 "patchExprScanner.rl" + goto st14; +tr214: +#line 407 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SQR); }} - goto st13; -tr227: -#line 408 "patchExprScanner.rl" + goto st14; +tr230: +#line 412 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TAN); }} - goto st13; -tr233: -#line 442 "patchExprScanner.rl" + goto st14; +tr236: +#line 446 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TENSOR); }} - goto st13; -tr244: -#line 441 "patchExprScanner.rl" + goto st14; +tr247: +#line 445 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(VECTOR); }} - goto st13; -st13: + goto st14; +st14: #line 1 "NONE" {ts = 0;} if ( ++p == pe ) - goto _test_eof13; -case 13: + goto _test_eof14; +case 14: #line 1 "NONE" {ts = p;} -#line 965 "patchExprScanner.cc" +#line 990 "patchExprScanner.cc" switch( (*p) ) { - case 32: goto st14; - case 33: goto st15; + case 32: goto st15; + case 33: goto st16; case 34: goto st1; - case 37: goto tr21; - case 38: goto st16; + case 37: goto tr23; + case 38: goto st17; case 39: goto st3; - case 40: goto tr24; - case 41: goto tr25; - case 42: goto tr26; - case 43: goto tr27; - case 44: goto tr28; - case 45: goto tr29; - case 46: goto st17; - case 47: goto tr31; - case 58: goto tr33; - case 60: goto st22; + case 40: goto tr26; + case 41: goto tr27; + case 42: goto tr28; + case 43: goto tr29; + case 44: goto tr30; + case 45: goto tr31; + case 46: goto st18; + case 47: goto tr33; + case 58: goto tr35; + case 60: goto st23; case 61: goto st7; - case 62: goto st23; - case 63: goto tr37; - case 90: goto st26; - case 94: goto tr40; - case 95: goto st24; - case 97: goto st29; - case 98: goto st43; - case 99: goto st46; - case 100: goto st51; - case 101: goto st61; - case 102: goto st63; - case 105: goto st67; - case 108: goto st79; - case 109: goto st83; - case 110: goto st89; - case 112: goto st103; - case 114: goto st106; - case 115: goto st114; - case 116: goto st146; - case 118: goto st158; - case 119: goto st164; - case 124: goto st12; + case 62: goto st24; + case 63: goto tr39; + case 90: goto st27; + case 94: goto tr41; + case 95: goto st25; + case 97: goto st30; + case 98: goto st44; + case 99: goto st47; + case 100: goto st52; + case 101: goto st62; + case 102: goto st64; + case 105: goto st69; + case 108: goto st81; + case 109: goto st85; + case 110: goto st91; + case 112: goto st105; + case 114: goto st108; + case 115: goto st116; + case 116: goto st148; + case 118: goto st160; + case 119: goto st166; + case 124: goto st13; } if ( (*p) < 48 ) { if ( 9 <= (*p) && (*p) <= 13 ) - goto st14; + goto st15; } else if ( (*p) > 57 ) { if ( (*p) > 89 ) { if ( 103 <= (*p) && (*p) <= 122 ) - goto st24; + goto st25; } else if ( (*p) >= 65 ) - goto st24; + goto st25; } else - goto tr32; + goto tr34; goto st0; st0: cs = 0; goto _out; -st14: - if ( ++p == pe ) - goto _test_eof14; -case 14: - if ( (*p) == 32 ) - goto st14; - if ( 9 <= (*p) && (*p) <= 13 ) - goto st14; - goto tr58; st15: if ( ++p == pe ) goto _test_eof15; case 15: - if ( (*p) == 61 ) - goto tr60; + if ( (*p) == 32 ) + goto st15; + if ( 9 <= (*p) && (*p) <= 13 ) + goto st15; goto tr59; +st16: + if ( ++p == pe ) + goto _test_eof16; +case 16: + if ( (*p) == 61 ) + goto tr61; + goto tr60; st1: if ( ++p == pe ) goto _test_eof1; @@ -1048,13 +1073,13 @@ case 2: if ( (*p) == 34 ) goto tr2; goto st2; -st16: +st17: if ( ++p == pe ) - goto _test_eof16; -case 16: + goto _test_eof17; +case 17: if ( (*p) == 38 ) - goto tr62; - goto tr61; + goto tr63; + goto tr62; st3: if ( ++p == pe ) goto _test_eof3; @@ -1069,35 +1094,35 @@ case 4: if ( (*p) == 39 ) goto tr4; goto st4; -st17: +st18: if ( ++p == pe ) - goto _test_eof17; -case 17: + goto _test_eof18; +case 18: if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr64; + goto tr65; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto st20; + goto st21; } else - goto st20; - goto tr63; -tr64: + goto st21; + goto tr64; +tr65: #line 1 "NONE" {te = p+1;} - goto st18; -st18: + goto st19; +st19: if ( ++p == pe ) - goto _test_eof18; -case 18: -#line 1094 "patchExprScanner.cc" + goto _test_eof19; +case 19: +#line 1119 "patchExprScanner.cc" switch( (*p) ) { case 69: goto st5; case 101: goto st5; } if ( 48 <= (*p) && (*p) <= 57 ) - goto tr64; - goto tr66; + goto tr65; + goto tr67; st5: if ( ++p == pe ) goto _test_eof5; @@ -1107,56 +1132,56 @@ case 5: case 45: goto st6; } if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; + goto st20; goto tr5; st6: if ( ++p == pe ) goto _test_eof6; case 6: if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; + goto st20; goto tr5; -st19: - if ( ++p == pe ) - goto _test_eof19; -case 19: - if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; - goto tr66; st20: if ( ++p == pe ) goto _test_eof20; case 20: + if ( 48 <= (*p) && (*p) <= 57 ) + goto st20; + goto tr67; +st21: + if ( ++p == pe ) + goto _test_eof21; +case 21: if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto st20; + goto st21; } else if ( (*p) >= 65 ) - goto st20; - goto tr68; -tr32: + goto st21; + goto tr69; +tr34: #line 1 "NONE" {te = p+1;} - goto st21; -st21: + goto st22; +st22: if ( ++p == pe ) - goto _test_eof21; -case 21: -#line 1145 "patchExprScanner.cc" + goto _test_eof22; +case 22: +#line 1170 "patchExprScanner.cc" switch( (*p) ) { - case 46: goto tr64; + case 46: goto tr65; case 69: goto st5; case 101: goto st5; } if ( 48 <= (*p) && (*p) <= 57 ) - goto tr32; - goto tr66; -st22: + goto tr34; + goto tr67; +st23: if ( ++p == pe ) - goto _test_eof22; -case 22: + goto _test_eof23; +case 23: if ( (*p) == 61 ) - goto tr70; - goto tr69; + goto tr71; + goto tr70; st7: if ( ++p == pe ) goto _test_eof7; @@ -1164,3101 +1189,3136 @@ case 7: if ( (*p) == 61 ) goto tr8; goto st0; -st23: - if ( ++p == pe ) - goto _test_eof23; -case 23: - if ( (*p) == 61 ) - goto tr72; - goto tr71; st24: if ( ++p == pe ) goto _test_eof24; case 24: + if ( (*p) == 61 ) + goto tr73; + goto tr72; +st25: + if ( ++p == pe ) + goto _test_eof25; +case 25: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; -tr74: + goto tr75; + goto tr74; +tr75: #line 1 "NONE" {te = p+1;} #line 339 "patchExprScanner.rl" {act = 78;} - goto st25; -tr78: + goto st26; +tr79: #line 1 "NONE" {te = p+1;} -#line 449 "patchExprScanner.rl" +#line 453 "patchExprScanner.rl" {act = 70;} - goto st25; -tr85: + goto st26; +tr86: #line 1 "NONE" {te = p+1;} -#line 410 "patchExprScanner.rl" +#line 414 "patchExprScanner.rl" {act = 40;} - goto st25; -tr86: + goto st26; +tr87: #line 1 "NONE" {te = p+1;} -#line 454 "patchExprScanner.rl" +#line 458 "patchExprScanner.rl" {act = 75;} - goto st25; -tr88: + goto st26; +tr89: #line 1 "NONE" {te = p+1;} -#line 409 "patchExprScanner.rl" +#line 413 "patchExprScanner.rl" {act = 39;} - goto st25; -tr92: + goto st26; +tr93: #line 1 "NONE" {te = p+1;} -#line 412 "patchExprScanner.rl" +#line 416 "patchExprScanner.rl" {act = 42;} - goto st25; -tr97: + goto st26; +tr98: #line 1 "NONE" {te = p+1;} -#line 428 "patchExprScanner.rl" +#line 432 "patchExprScanner.rl" {act = 55;} - goto st25; -tr100: + goto st26; +tr101: #line 1 "NONE" {te = p+1;} -#line 440 "patchExprScanner.rl" +#line 444 "patchExprScanner.rl" {act = 63;} - goto st25; -tr104: + goto st26; +tr105: #line 1 "NONE" {te = p+1;} -#line 405 "patchExprScanner.rl" +#line 409 "patchExprScanner.rl" {act = 35;} - goto st25; -tr107: + goto st26; +tr108: #line 1 "NONE" {te = p+1;} -#line 414 "patchExprScanner.rl" +#line 418 "patchExprScanner.rl" {act = 44;} - goto st25; -tr115: + goto st26; +tr116: #line 1 "NONE" {te = p+1;} -#line 397 "patchExprScanner.rl" +#line 401 "patchExprScanner.rl" {act = 27;} - goto st25; -tr118: + goto st26; +tr119: #line 1 "NONE" {te = p+1;} -#line 456 "patchExprScanner.rl" +#line 460 "patchExprScanner.rl" {act = 77;} - goto st25; -tr120: + goto st26; +tr121: #line 1 "NONE" {te = p+1;} -#line 399 "patchExprScanner.rl" +#line 403 "patchExprScanner.rl" {act = 29;} - goto st25; -tr124: + goto st26; +tr126: #line 1 "NONE" {te = p+1;} -#line 448 "patchExprScanner.rl" +#line 452 "patchExprScanner.rl" {act = 69;} - goto st25; -tr136: + goto st26; +tr139: #line 1 "NONE" {te = p+1;} -#line 436 "patchExprScanner.rl" +#line 440 "patchExprScanner.rl" {act = 61;} - goto st25; -tr141: + goto st26; +tr144: #line 1 "NONE" {te = p+1;} -#line 401 "patchExprScanner.rl" +#line 405 "patchExprScanner.rl" {act = 31;} - goto st25; -tr145: + goto st26; +tr148: #line 1 "NONE" {te = p+1;} -#line 427 "patchExprScanner.rl" +#line 431 "patchExprScanner.rl" {act = 54;} - goto st25; -tr149: + goto st26; +tr152: #line 1 "NONE" {te = p+1;} -#line 417 "patchExprScanner.rl" +#line 421 "patchExprScanner.rl" {act = 47;} - goto st25; -tr150: + goto st26; +tr153: #line 1 "NONE" {te = p+1;} -#line 426 "patchExprScanner.rl" +#line 430 "patchExprScanner.rl" {act = 53;} - goto st25; -tr155: + goto st26; +tr158: #line 1 "NONE" {te = p+1;} -#line 422 "patchExprScanner.rl" +#line 426 "patchExprScanner.rl" {act = 51;} - goto st25; -tr166: + goto st26; +tr169: #line 1 "NONE" {te = p+1;} -#line 437 "patchExprScanner.rl" +#line 441 "patchExprScanner.rl" {act = 62;} - goto st25; -tr167: + goto st26; +tr170: #line 1 "NONE" {te = p+1;} -#line 396 "patchExprScanner.rl" +#line 400 "patchExprScanner.rl" {act = 26;} - goto st25; -tr170: + goto st26; +tr173: #line 1 "NONE" {te = p+1;} -#line 402 "patchExprScanner.rl" +#line 406 "patchExprScanner.rl" {act = 32;} - goto st25; -tr172: + goto st26; +tr175: #line 1 "NONE" {te = p+1;} -#line 421 "patchExprScanner.rl" +#line 425 "patchExprScanner.rl" {act = 50;} - goto st25; -tr180: + goto st26; +tr183: #line 1 "NONE" {te = p+1;} -#line 398 "patchExprScanner.rl" +#line 402 "patchExprScanner.rl" {act = 28;} - goto st25; -tr181: + goto st26; +tr184: #line 1 "NONE" {te = p+1;} -#line 432 "patchExprScanner.rl" +#line 436 "patchExprScanner.rl" {act = 59;} - goto st25; -tr190: + goto st26; +tr193: #line 1 "NONE" {te = p+1;} -#line 423 "patchExprScanner.rl" +#line 427 "patchExprScanner.rl" {act = 52;} - goto st25; -tr192: + goto st26; +tr195: #line 1 "NONE" {te = p+1;} -#line 413 "patchExprScanner.rl" +#line 417 "patchExprScanner.rl" {act = 43;} - goto st25; -tr196: + goto st26; +tr199: #line 1 "NONE" {te = p+1;} -#line 435 "patchExprScanner.rl" +#line 439 "patchExprScanner.rl" {act = 60;} - goto st25; -tr209: + goto st26; +tr212: #line 1 "NONE" {te = p+1;} -#line 444 "patchExprScanner.rl" +#line 448 "patchExprScanner.rl" {act = 67;} - goto st25; -tr212: + goto st26; +tr215: #line 1 "NONE" {te = p+1;} -#line 404 "patchExprScanner.rl" +#line 408 "patchExprScanner.rl" {act = 34;} - goto st25; -tr213: + goto st26; +tr216: #line 1 "NONE" {te = p+1;} -#line 429 "patchExprScanner.rl" +#line 433 "patchExprScanner.rl" {act = 56;} - goto st25; -tr221: + goto st26; +tr224: #line 1 "NONE" {te = p+1;} -#line 443 "patchExprScanner.rl" +#line 447 "patchExprScanner.rl" {act = 66;} - goto st25; -tr228: + goto st26; +tr231: #line 1 "NONE" {te = p+1;} -#line 415 "patchExprScanner.rl" +#line 419 "patchExprScanner.rl" {act = 45;} - goto st25; -tr236: + goto st26; +tr239: #line 1 "NONE" {te = p+1;} -#line 455 "patchExprScanner.rl" +#line 459 "patchExprScanner.rl" {act = 76;} - goto st25; -tr238: + goto st26; +tr241: #line 1 "NONE" {te = p+1;} -#line 447 "patchExprScanner.rl" +#line 451 "patchExprScanner.rl" {act = 68;} - goto st25; -tr258: + goto st26; +tr261: #line 1 "NONE" {te = p+1;} -#line 430 "patchExprScanner.rl" +#line 434 "patchExprScanner.rl" {act = 57;} - goto st25; -tr260: + goto st26; +tr263: #line 1 "NONE" {te = p+1;} -#line 431 "patchExprScanner.rl" +#line 435 "patchExprScanner.rl" {act = 58;} - goto st25; -st25: - if ( ++p == pe ) - goto _test_eof25; -case 25: -#line 1424 "patchExprScanner.cc" - switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - } - if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; - } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; - } else - goto tr74; - goto tr75; + goto st26; st26: if ( ++p == pe ) goto _test_eof26; case 26: +#line 1449 "patchExprScanner.cc" switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st27; + case 46: goto tr75; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr76; st27: if ( ++p == pe ) goto _test_eof27; case 27: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st28; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st28; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st28: if ( ++p == pe ) goto _test_eof28; case 28: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto tr78; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st29; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st29: if ( ++p == pe ) goto _test_eof29; case 29: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 99: goto st30; - case 114: goto st32; - case 115: goto st33; - case 116: goto st35; - case 118: goto st38; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto tr79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st30: if ( ++p == pe ) goto _test_eof30; case 30: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st31; + case 46: goto tr75; + case 95: goto tr75; + case 99: goto st31; + case 114: goto st33; + case 115: goto st34; + case 116: goto st36; + case 118: goto st39; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st31: if ( ++p == pe ) goto _test_eof31; case 31: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 115: goto tr85; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st32; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st32: if ( ++p == pe ) goto _test_eof32; case 32: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto tr86; + case 46: goto tr75; + case 95: goto tr75; + case 115: goto tr86; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st33: if ( ++p == pe ) goto _test_eof33; case 33: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 105: goto st34; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto tr87; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st34: if ( ++p == pe ) goto _test_eof34; case 34: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto tr88; + case 46: goto tr75; + case 95: goto tr75; + case 105: goto st35; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st35: if ( ++p == pe ) goto _test_eof35; case 35: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st36; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto tr89; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st36: if ( ++p == pe ) goto _test_eof36; case 36: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto st37; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st37; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st37: if ( ++p == pe ) goto _test_eof37; case 37: switch( (*p) ) { - case 46: goto tr74; - case 50: goto tr92; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto st38; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr91; + goto tr75; + goto tr74; st38: if ( ++p == pe ) goto _test_eof38; case 38: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st39; + case 46: goto tr75; + case 50: goto tr93; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr92; st39: if ( ++p == pe ) goto _test_eof39; case 39: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st40; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st40; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st40: if ( ++p == pe ) goto _test_eof40; case 40: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st41; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st41; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st41: if ( ++p == pe ) goto _test_eof41; case 41: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st42; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st42; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st42: if ( ++p == pe ) goto _test_eof42; case 42: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto tr97; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st43; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st43: if ( ++p == pe ) goto _test_eof43; case 43: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st44; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto tr98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st44: if ( ++p == pe ) goto _test_eof44; case 44: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; case 111: goto st45; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st45: if ( ++p == pe ) goto _test_eof45; case 45: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 108: goto tr100; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st46; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st46: if ( ++p == pe ) goto _test_eof46; case 46: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 98: goto st47; - case 111: goto st49; + case 46: goto tr75; + case 95: goto tr75; + case 108: goto tr101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st47: if ( ++p == pe ) goto _test_eof47; case 47: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st48; + case 46: goto tr75; + case 95: goto tr75; + case 98: goto st48; + case 111: goto st50; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st48: if ( ++p == pe ) goto _test_eof48; case 48: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 116: goto tr104; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st49; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st49: if ( ++p == pe ) goto _test_eof49; case 49: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 115: goto st50; + case 46: goto tr75; + case 95: goto tr75; + case 116: goto tr105; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st50: if ( ++p == pe ) goto _test_eof50; case 50: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 104: goto tr107; + case 46: goto tr75; + case 95: goto tr75; + case 115: goto st51; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr106; + goto tr75; + goto tr74; st51: if ( ++p == pe ) goto _test_eof51; case 51: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st52; + case 46: goto tr75; + case 95: goto tr75; + case 104: goto tr108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr107; st52: if ( ++p == pe ) goto _test_eof52; case 52: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st53; - case 108: goto st58; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st53; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st53: if ( ++p == pe ) goto _test_eof53; case 53: switch( (*p) ) { - case 46: goto tr74; - case 84: goto st54; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st54; + case 108: goto st59; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st54: if ( ++p == pe ) goto _test_eof54; case 54: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st55; + case 46: goto tr75; + case 84: goto st55; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st55: if ( ++p == pe ) goto _test_eof55; case 55: switch( (*p) ) { - case 46: goto tr74; - case 82: goto st56; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st56; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st56: if ( ++p == pe ) goto _test_eof56; case 56: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st57; + case 46: goto tr75; + case 82: goto st57; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st57: if ( ++p == pe ) goto _test_eof57; case 57: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 100: goto tr115; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st58; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st58: if ( ++p == pe ) goto _test_eof58; case 58: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 116: goto st59; + case 46: goto tr75; + case 95: goto tr75; + case 100: goto tr116; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st59: if ( ++p == pe ) goto _test_eof59; case 59: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st60; + case 46: goto tr75; + case 95: goto tr75; + case 116: goto st60; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st60: if ( ++p == pe ) goto _test_eof60; case 60: switch( (*p) ) { - case 46: goto tr74; - case 84: goto tr118; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st61; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st61: if ( ++p == pe ) goto _test_eof61; case 61: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 120: goto st62; + case 46: goto tr75; + case 84: goto tr119; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st62: if ( ++p == pe ) goto _test_eof62; case 62: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 112: goto tr120; + case 46: goto tr75; + case 95: goto tr75; + case 120: goto st63; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st63: if ( ++p == pe ) goto _test_eof63; case 63: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st64; + case 46: goto tr75; + case 95: goto tr75; + case 112: goto tr121; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st64: if ( ++p == pe ) goto _test_eof64; case 64: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 108: goto st65; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st65; + case 110: goto tr123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st65: if ( ++p == pe ) goto _test_eof65; case 65: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 115: goto st66; + case 46: goto tr75; + case 95: goto tr75; + case 108: goto st66; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st66: if ( ++p == pe ) goto _test_eof66; case 66: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto tr124; + case 46: goto tr75; + case 95: goto tr75; + case 115: goto st67; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st67: if ( ++p == pe ) goto _test_eof67; case 67: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto st68; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto tr126; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; +tr123: +#line 1 "NONE" + {te = p+1;} + goto st68; st68: if ( ++p == pe ) goto _test_eof68; case 68: +#line 2216 "patchExprScanner.cc" switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 116: goto st69; + case 46: goto tr75; + case 58: goto st8; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; +st8: + if ( ++p == pe ) + goto _test_eof8; +case 8: + if ( (*p) == 95 ) + goto st25; + if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto st25; + } else if ( (*p) >= 65 ) + goto st25; + goto tr9; st69: if ( ++p == pe ) goto _test_eof69; case 69: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st70; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto st70; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st70: if ( ++p == pe ) goto _test_eof70; case 70: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st71; + case 46: goto tr75; + case 95: goto tr75; + case 116: goto st71; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st71: if ( ++p == pe ) goto _test_eof71; case 71: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto st72; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st72; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st72: if ( ++p == pe ) goto _test_eof72; case 72: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st73; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st73: if ( ++p == pe ) goto _test_eof73; case 73: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 108: goto st74; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto st74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st74: if ( ++p == pe ) goto _test_eof74; case 74: switch( (*p) ) { - case 46: goto tr74; - case 70: goto st75; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st75: if ( ++p == pe ) goto _test_eof75; case 75: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 105: goto st76; + case 46: goto tr75; + case 95: goto tr75; + case 108: goto st76; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st76: if ( ++p == pe ) goto _test_eof76; case 76: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st77; + case 46: goto tr75; + case 70: goto st77; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st77: if ( ++p == pe ) goto _test_eof77; case 77: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 108: goto st78; + case 46: goto tr75; + case 95: goto tr75; + case 105: goto st78; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st78: if ( ++p == pe ) goto _test_eof78; case 78: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 100: goto tr136; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st79: if ( ++p == pe ) goto _test_eof79; case 79: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st80; + case 46: goto tr75; + case 95: goto tr75; + case 108: goto st80; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st80: if ( ++p == pe ) goto _test_eof80; case 80: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st81; + case 46: goto tr75; + case 95: goto tr75; + case 100: goto tr139; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st81: if ( ++p == pe ) goto _test_eof81; case 81: switch( (*p) ) { - case 46: goto tr74; - case 49: goto st82; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st82; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr139; + goto tr75; + goto tr74; st82: if ( ++p == pe ) goto _test_eof82; case 82: switch( (*p) ) { - case 46: goto tr74; - case 48: goto tr141; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st83; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr74; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st83: if ( ++p == pe ) goto _test_eof83; case 83: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st84; - case 105: goto st88; + case 46: goto tr75; + case 49: goto st84; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr142; st84: if ( ++p == pe ) goto _test_eof84; case 84: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st85; - case 120: goto tr145; + case 46: goto tr75; + case 48: goto tr144; + case 95: goto tr75; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st85: if ( ++p == pe ) goto _test_eof85; case 85: switch( (*p) ) { - case 46: goto tr74; - case 83: goto st86; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st86; + case 105: goto st90; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr146; + goto tr75; + goto tr74; st86: if ( ++p == pe ) goto _test_eof86; case 86: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 113: goto st87; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st87; + case 120: goto tr148; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st87: if ( ++p == pe ) goto _test_eof87; case 87: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto tr149; + case 46: goto tr75; + case 83: goto st88; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr149; st88: if ( ++p == pe ) goto _test_eof88; case 88: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto tr150; + case 46: goto tr75; + case 95: goto tr75; + case 113: goto st89; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st89: if ( ++p == pe ) goto _test_eof89; case 89: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st90; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto tr152; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st90: if ( ++p == pe ) goto _test_eof90; case 90: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st91; - case 105: goto st92; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto tr153; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st91: if ( ++p == pe ) goto _test_eof91; case 91: switch( (*p) ) { - case 46: goto tr74; - case 48: goto tr155; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st92; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr74; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr154; + goto tr75; + goto tr74; st92: if ( ++p == pe ) goto _test_eof92; case 92: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; case 103: goto st93; + case 105: goto st94; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st93: if ( ++p == pe ) goto _test_eof93; case 93: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 104: goto st94; + case 46: goto tr75; + case 48: goto tr158; + case 95: goto tr75; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr157; st94: if ( ++p == pe ) goto _test_eof94; case 94: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 98: goto st95; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st95; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st95: if ( ++p == pe ) goto _test_eof95; case 95: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st96; + case 46: goto tr75; + case 95: goto tr75; + case 104: goto st96; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st96: if ( ++p == pe ) goto _test_eof96; case 96: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 117: goto st97; + case 46: goto tr75; + case 95: goto tr75; + case 98: goto st97; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st97: if ( ++p == pe ) goto _test_eof97; case 97: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st98; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st98: if ( ++p == pe ) goto _test_eof98; case 98: switch( (*p) ) { - case 46: goto tr74; - case 70: goto st99; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 117: goto st99; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st99: if ( ++p == pe ) goto _test_eof99; case 99: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 105: goto st100; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st100: if ( ++p == pe ) goto _test_eof100; case 100: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st101; + case 46: goto tr75; + case 70: goto st101; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st101: if ( ++p == pe ) goto _test_eof101; case 101: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 108: goto st102; + case 46: goto tr75; + case 95: goto tr75; + case 105: goto st102; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st102: if ( ++p == pe ) goto _test_eof102; case 102: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 100: goto tr166; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st103; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st103: if ( ++p == pe ) goto _test_eof103; case 103: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 105: goto tr167; - case 111: goto st104; + case 46: goto tr75; + case 95: goto tr75; + case 108: goto st104; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st104: if ( ++p == pe ) goto _test_eof104; case 104: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 115: goto st105; - case 119: goto tr170; + case 46: goto tr75; + case 95: goto tr75; + case 100: goto tr169; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st105: if ( ++p == pe ) goto _test_eof105; case 105: switch( (*p) ) { - case 46: goto tr74; - case 48: goto tr172; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 105: goto tr170; + case 111: goto st106; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr74; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr171; + goto tr75; + goto tr74; st106: if ( ++p == pe ) goto _test_eof106; case 106: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st107; + case 46: goto tr75; + case 95: goto tr75; + case 115: goto st107; + case 119: goto tr173; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st107: if ( ++p == pe ) goto _test_eof107; case 107: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 100: goto st108; - case 110: goto st113; + case 46: goto tr75; + case 48: goto tr175; + case 95: goto tr75; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr174; st108: if ( ++p == pe ) goto _test_eof108; case 108: switch( (*p) ) { - case 46: goto tr74; - case 84: goto st109; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st109; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st109: if ( ++p == pe ) goto _test_eof109; case 109: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st110; + case 46: goto tr75; + case 95: goto tr75; + case 100: goto st110; + case 110: goto st115; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st110: if ( ++p == pe ) goto _test_eof110; case 110: switch( (*p) ) { - case 46: goto tr74; - case 68: goto st111; - case 95: goto tr74; + case 46: goto tr75; + case 84: goto st111; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st111: if ( ++p == pe ) goto _test_eof111; case 111: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st112; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st112; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st112: if ( ++p == pe ) goto _test_eof112; case 112: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto tr180; + case 46: goto tr75; + case 68: goto st113; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st113: if ( ++p == pe ) goto _test_eof113; case 113: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 100: goto tr181; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st114; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st114: if ( ++p == pe ) goto _test_eof114; case 114: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 105: goto st115; - case 110: goto st118; - case 112: goto st122; - case 113: goto st135; - case 117: goto st137; - case 121: goto st138; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto tr183; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st115: if ( ++p == pe ) goto _test_eof115; case 115: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st116; - case 110: goto st117; + case 46: goto tr75; + case 95: goto tr75; + case 100: goto tr184; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st116: if ( ++p == pe ) goto _test_eof116; case 116: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto tr190; + case 46: goto tr75; + case 95: goto tr75; + case 105: goto st117; + case 110: goto st120; + case 112: goto st124; + case 113: goto st137; + case 117: goto st139; + case 121: goto st140; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st117: if ( ++p == pe ) goto _test_eof117; case 117: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 104: goto tr192; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st118; + case 110: goto st119; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr191; + goto tr75; + goto tr74; st118: if ( ++p == pe ) goto _test_eof118; case 118: switch( (*p) ) { - case 46: goto tr74; - case 71: goto st119; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto tr193; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st119: if ( ++p == pe ) goto _test_eof119; case 119: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st120; + case 46: goto tr75; + case 95: goto tr75; + case 104: goto tr195; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr194; st120: if ( ++p == pe ) goto _test_eof120; case 120: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st121; + case 46: goto tr75; + case 71: goto st121; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st121: if ( ++p == pe ) goto _test_eof121; case 121: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 100: goto tr196; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st122; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st122: if ( ++p == pe ) goto _test_eof122; case 122: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 104: goto st123; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st123: if ( ++p == pe ) goto _test_eof123; case 123: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st124; + case 46: goto tr75; + case 95: goto tr75; + case 100: goto tr199; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st124: if ( ++p == pe ) goto _test_eof124; case 124: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st125; + case 46: goto tr75; + case 95: goto tr75; + case 104: goto st125; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st125: if ( ++p == pe ) goto _test_eof125; case 125: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 105: goto st126; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st126; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st126: if ( ++p == pe ) goto _test_eof126; case 126: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 99: goto st127; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st127: if ( ++p == pe ) goto _test_eof127; case 127: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st128; + case 46: goto tr75; + case 95: goto tr75; + case 105: goto st128; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st128: if ( ++p == pe ) goto _test_eof128; case 128: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 108: goto st129; + case 46: goto tr75; + case 95: goto tr75; + case 99: goto st129; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st129: if ( ++p == pe ) goto _test_eof129; case 129: switch( (*p) ) { - case 46: goto tr74; - case 84: goto st130; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st130; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st130: if ( ++p == pe ) goto _test_eof130; case 130: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st131; + case 46: goto tr75; + case 95: goto tr75; + case 108: goto st131; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st131: if ( ++p == pe ) goto _test_eof131; case 131: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto st132; + case 46: goto tr75; + case 84: goto st132; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st132: if ( ++p == pe ) goto _test_eof132; case 132: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 115: goto st133; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st133; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st133: if ( ++p == pe ) goto _test_eof133; case 133: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st134; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto st134; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st134: if ( ++p == pe ) goto _test_eof134; case 134: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto tr209; + case 46: goto tr75; + case 95: goto tr75; + case 115: goto st135; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st135: if ( ++p == pe ) goto _test_eof135; case 135: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st136; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st136; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st136: if ( ++p == pe ) goto _test_eof136; case 136: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 116: goto tr212; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto tr212; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr211; + goto tr75; + goto tr74; st137: if ( ++p == pe ) goto _test_eof137; case 137: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 109: goto tr213; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st138; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st138: if ( ++p == pe ) goto _test_eof138; case 138: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 109: goto st139; + case 46: goto tr75; + case 95: goto tr75; + case 116: goto tr215; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr214; st139: if ( ++p == pe ) goto _test_eof139; case 139: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 109: goto st140; + case 46: goto tr75; + case 95: goto tr75; + case 109: goto tr216; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st140: if ( ++p == pe ) goto _test_eof140; case 140: switch( (*p) ) { - case 46: goto tr74; - case 84: goto st141; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 109: goto st141; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st141: if ( ++p == pe ) goto _test_eof141; case 141: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st142; + case 46: goto tr75; + case 95: goto tr75; + case 109: goto st142; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st142: if ( ++p == pe ) goto _test_eof142; case 142: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto st143; + case 46: goto tr75; + case 84: goto st143; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st143: if ( ++p == pe ) goto _test_eof143; case 143: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 115: goto st144; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st144; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st144: if ( ++p == pe ) goto _test_eof144; case 144: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st145; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto st145; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st145: if ( ++p == pe ) goto _test_eof145; case 145: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto tr221; + case 46: goto tr75; + case 95: goto tr75; + case 115: goto st146; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st146: if ( ++p == pe ) goto _test_eof146; case 146: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st147; - case 101: goto st149; - case 105: goto st154; - case 114: goto st156; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st147; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st147: if ( ++p == pe ) goto _test_eof147; case 147: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 110: goto st148; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto tr224; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st148: if ( ++p == pe ) goto _test_eof148; case 148: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 104: goto tr228; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st149; + case 101: goto st151; + case 105: goto st156; + case 114: goto st158; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr227; + goto tr75; + goto tr74; st149: if ( ++p == pe ) goto _test_eof149; case 149: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; case 110: goto st150; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st150: if ( ++p == pe ) goto _test_eof150; case 150: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 115: goto st151; + case 46: goto tr75; + case 95: goto tr75; + case 104: goto tr231; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr230; st151: if ( ++p == pe ) goto _test_eof151; case 151: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st152; + case 46: goto tr75; + case 95: goto tr75; + case 110: goto st152; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st152: if ( ++p == pe ) goto _test_eof152; case 152: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto tr232; + case 46: goto tr75; + case 95: goto tr75; + case 115: goto st153; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; -tr232: -#line 1 "NONE" - {te = p+1;} - goto st153; + goto tr75; + goto tr74; st153: if ( ++p == pe ) goto _test_eof153; case 153: -#line 3753 "patchExprScanner.cc" switch( (*p) ) { - case 46: goto tr74; - case 58: goto st8; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st154; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr233; -st8: - if ( ++p == pe ) - goto _test_eof8; -case 8: - if ( (*p) == 58 ) - goto st9; - goto tr9; -st9: - if ( ++p == pe ) - goto _test_eof9; -case 9: - if ( (*p) == 73 ) - goto tr11; - goto tr9; + goto tr75; + goto tr74; st154: if ( ++p == pe ) goto _test_eof154; case 154: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 109: goto st155; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto tr235; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; +tr235: +#line 1 "NONE" + {te = p+1;} + goto st155; st155: if ( ++p == pe ) goto _test_eof155; case 155: +#line 3814 "patchExprScanner.cc" switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto tr236; + case 46: goto tr75; + case 58: goto st9; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr236; +st9: + if ( ++p == pe ) + goto _test_eof9; +case 9: + if ( (*p) == 58 ) + goto st10; + goto tr11; +st10: + if ( ++p == pe ) + goto _test_eof10; +case 10: + if ( (*p) == 73 ) + goto tr13; + goto tr11; st156: if ( ++p == pe ) goto _test_eof156; case 156: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 117: goto st157; + case 46: goto tr75; + case 95: goto tr75; + case 109: goto st157; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st157: if ( ++p == pe ) goto _test_eof157; case 157: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto tr238; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto tr239; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st158: if ( ++p == pe ) goto _test_eof158; case 158: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st159; + case 46: goto tr75; + case 95: goto tr75; + case 117: goto st159; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st159: if ( ++p == pe ) goto _test_eof159; case 159: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 99: goto st160; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto tr241; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st160: if ( ++p == pe ) goto _test_eof160; case 160: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 116: goto st161; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st161; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st161: if ( ++p == pe ) goto _test_eof161; case 161: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 111: goto st162; + case 46: goto tr75; + case 95: goto tr75; + case 99: goto st162; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st162: if ( ++p == pe ) goto _test_eof162; case 162: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto tr243; + case 46: goto tr75; + case 95: goto tr75; + case 116: goto st163; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; -tr243: -#line 1 "NONE" - {te = p+1;} - goto st163; + goto tr75; + goto tr74; st163: if ( ++p == pe ) goto _test_eof163; case 163: -#line 3952 "patchExprScanner.cc" switch( (*p) ) { - case 46: goto tr74; - case 58: goto st10; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 111: goto st164; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr244; -st10: - if ( ++p == pe ) - goto _test_eof10; -case 10: - if ( (*p) == 58 ) - goto st11; - goto tr12; -st11: - if ( ++p == pe ) - goto _test_eof11; -case 11: - switch( (*p) ) { - case 120: goto tr14; - case 121: goto tr15; - case 122: goto tr16; - } - goto tr12; + goto tr75; + goto tr74; st164: if ( ++p == pe ) goto _test_eof164; case 164: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st165; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto tr246; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; +tr246: +#line 1 "NONE" + {te = p+1;} + goto st165; st165: if ( ++p == pe ) goto _test_eof165; case 165: +#line 4013 "patchExprScanner.cc" switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 105: goto st166; + case 46: goto tr75; + case 58: goto st11; + case 95: goto tr75; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr247; +st11: + if ( ++p == pe ) + goto _test_eof11; +case 11: + if ( (*p) == 58 ) + goto st12; + goto tr14; +st12: + if ( ++p == pe ) + goto _test_eof12; +case 12: + switch( (*p) ) { + case 120: goto tr16; + case 121: goto tr17; + case 122: goto tr18; + } + goto tr14; st166: if ( ++p == pe ) goto _test_eof166; case 166: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st167; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st167; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st167: if ( ++p == pe ) goto _test_eof167; case 167: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 104: goto st168; + case 46: goto tr75; + case 95: goto tr75; + case 105: goto st168; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st168: if ( ++p == pe ) goto _test_eof168; case 168: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 116: goto st169; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st169; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st169: if ( ++p == pe ) goto _test_eof169; case 169: switch( (*p) ) { - case 46: goto tr74; - case 65: goto st170; - case 83: goto st176; - case 95: goto tr74; + case 46: goto tr75; + case 95: goto tr75; + case 104: goto st170; } - if ( (*p) < 66 ) { + if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st170: if ( ++p == pe ) goto _test_eof170; case 170: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 118: goto st171; + case 46: goto tr75; + case 95: goto tr75; + case 116: goto st171; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st171: if ( ++p == pe ) goto _test_eof171; case 171: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto st172; + case 46: goto tr75; + case 65: goto st172; + case 83: goto st178; + case 95: goto tr75; } - if ( (*p) < 65 ) { + if ( (*p) < 66 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st172: if ( ++p == pe ) goto _test_eof172; case 172: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 114: goto st173; + case 46: goto tr75; + case 95: goto tr75; + case 118: goto st173; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st173: if ( ++p == pe ) goto _test_eof173; case 173: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 97: goto st174; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto st174; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st174: if ( ++p == pe ) goto _test_eof174; case 174: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 103: goto st175; + case 46: goto tr75; + case 95: goto tr75; + case 114: goto st175; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st175: if ( ++p == pe ) goto _test_eof175; case 175: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 101: goto tr258; + case 46: goto tr75; + case 95: goto tr75; + case 97: goto st176; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st176: if ( ++p == pe ) goto _test_eof176; case 176: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 117: goto st177; + case 46: goto tr75; + case 95: goto tr75; + case 103: goto st177; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; + goto tr75; + goto tr74; st177: if ( ++p == pe ) goto _test_eof177; case 177: switch( (*p) ) { - case 46: goto tr74; - case 95: goto tr74; - case 109: goto tr260; + case 46: goto tr75; + case 95: goto tr75; + case 101: goto tr261; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr74; + goto tr75; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr74; + goto tr75; } else - goto tr74; - goto tr73; -st12: + goto tr75; + goto tr74; +st178: if ( ++p == pe ) - goto _test_eof12; -case 12: + goto _test_eof178; +case 178: + switch( (*p) ) { + case 46: goto tr75; + case 95: goto tr75; + case 117: goto st179; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr75; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; + } else + goto tr75; + goto tr74; +st179: + if ( ++p == pe ) + goto _test_eof179; +case 179: + switch( (*p) ) { + case 46: goto tr75; + case 95: goto tr75; + case 109: goto tr263; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr75; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr75; + } else + goto tr75; + goto tr74; +st13: + if ( ++p == pe ) + goto _test_eof13; +case 13: if ( (*p) == 124 ) - goto tr17; + goto tr19; goto st0; } - _test_eof13: cs = 13; goto _test_eof; _test_eof14: cs = 14; goto _test_eof; _test_eof15: cs = 15; goto _test_eof; + _test_eof16: cs = 16; goto _test_eof; _test_eof1: cs = 1; goto _test_eof; _test_eof2: cs = 2; goto _test_eof; - _test_eof16: cs = 16; goto _test_eof; + _test_eof17: cs = 17; goto _test_eof; _test_eof3: cs = 3; goto _test_eof; _test_eof4: cs = 4; goto _test_eof; - _test_eof17: cs = 17; goto _test_eof; _test_eof18: cs = 18; goto _test_eof; + _test_eof19: cs = 19; goto _test_eof; _test_eof5: cs = 5; goto _test_eof; _test_eof6: cs = 6; goto _test_eof; - _test_eof19: cs = 19; goto _test_eof; _test_eof20: cs = 20; goto _test_eof; _test_eof21: cs = 21; goto _test_eof; _test_eof22: cs = 22; goto _test_eof; - _test_eof7: cs = 7; goto _test_eof; _test_eof23: cs = 23; goto _test_eof; + _test_eof7: cs = 7; goto _test_eof; _test_eof24: cs = 24; goto _test_eof; _test_eof25: cs = 25; goto _test_eof; _test_eof26: cs = 26; goto _test_eof; @@ -4304,6 +4364,7 @@ case 12: _test_eof66: cs = 66; goto _test_eof; _test_eof67: cs = 67; goto _test_eof; _test_eof68: cs = 68; goto _test_eof; + _test_eof8: cs = 8; goto _test_eof; _test_eof69: cs = 69; goto _test_eof; _test_eof70: cs = 70; goto _test_eof; _test_eof71: cs = 71; goto _test_eof; @@ -4389,10 +4450,10 @@ case 12: _test_eof151: cs = 151; goto _test_eof; _test_eof152: cs = 152; goto _test_eof; _test_eof153: cs = 153; goto _test_eof; - _test_eof8: cs = 8; goto _test_eof; - _test_eof9: cs = 9; goto _test_eof; _test_eof154: cs = 154; goto _test_eof; _test_eof155: cs = 155; goto _test_eof; + _test_eof9: cs = 9; goto _test_eof; + _test_eof10: cs = 10; goto _test_eof; _test_eof156: cs = 156; goto _test_eof; _test_eof157: cs = 157; goto _test_eof; _test_eof158: cs = 158; goto _test_eof; @@ -4401,10 +4462,10 @@ case 12: _test_eof161: cs = 161; goto _test_eof; _test_eof162: cs = 162; goto _test_eof; _test_eof163: cs = 163; goto _test_eof; - _test_eof10: cs = 10; goto _test_eof; - _test_eof11: cs = 11; goto _test_eof; _test_eof164: cs = 164; goto _test_eof; _test_eof165: cs = 165; goto _test_eof; + _test_eof11: cs = 11; goto _test_eof; + _test_eof12: cs = 12; goto _test_eof; _test_eof166: cs = 166; goto _test_eof; _test_eof167: cs = 167; goto _test_eof; _test_eof168: cs = 168; goto _test_eof; @@ -4417,189 +4478,193 @@ case 12: _test_eof175: cs = 175; goto _test_eof; _test_eof176: cs = 176; goto _test_eof; _test_eof177: cs = 177; goto _test_eof; - _test_eof12: cs = 12; goto _test_eof; + _test_eof178: cs = 178; goto _test_eof; + _test_eof179: cs = 179; goto _test_eof; + _test_eof13: cs = 13; goto _test_eof; _test_eof: {} if ( p == eof ) { switch ( cs ) { - case 14: goto tr58; case 15: goto tr59; - case 16: goto tr61; - case 17: goto tr63; - case 18: goto tr66; + case 16: goto tr60; + case 17: goto tr62; + case 18: goto tr64; + case 19: goto tr67; case 5: goto tr5; case 6: goto tr5; - case 19: goto tr66; - case 20: goto tr68; - case 21: goto tr66; - case 22: goto tr69; - case 23: goto tr71; - case 24: goto tr73; - case 25: goto tr75; - case 26: goto tr73; - case 27: goto tr73; - case 28: goto tr73; - case 29: goto tr73; - case 30: goto tr73; - case 31: goto tr73; - case 32: goto tr73; - case 33: goto tr73; - case 34: goto tr73; - case 35: goto tr73; - case 36: goto tr73; - case 37: goto tr91; - case 38: goto tr73; - case 39: goto tr73; - case 40: goto tr73; - case 41: goto tr73; - case 42: goto tr73; - case 43: goto tr73; - case 44: goto tr73; - case 45: goto tr73; - case 46: goto tr73; - case 47: goto tr73; - case 48: goto tr73; - case 49: goto tr73; - case 50: goto tr106; - case 51: goto tr73; - case 52: goto tr73; - case 53: goto tr73; - case 54: goto tr73; - case 55: goto tr73; - case 56: goto tr73; - case 57: goto tr73; - case 58: goto tr73; - case 59: goto tr73; - case 60: goto tr73; - case 61: goto tr73; - case 62: goto tr73; - case 63: goto tr73; - case 64: goto tr73; - case 65: goto tr73; - case 66: goto tr73; - case 67: goto tr73; - case 68: goto tr73; - case 69: goto tr73; - case 70: goto tr73; - case 71: goto tr73; - case 72: goto tr73; - case 73: goto tr73; - case 74: goto tr73; - case 75: goto tr73; - case 76: goto tr73; - case 77: goto tr73; - case 78: goto tr73; - case 79: goto tr73; - case 80: goto tr73; - case 81: goto tr139; - case 82: goto tr73; - case 83: goto tr73; - case 84: goto tr73; - case 85: goto tr146; - case 86: goto tr73; - case 87: goto tr73; - case 88: goto tr73; - case 89: goto tr73; - case 90: goto tr73; - case 91: goto tr154; - case 92: goto tr73; - case 93: goto tr73; - case 94: goto tr73; - case 95: goto tr73; - case 96: goto tr73; - case 97: goto tr73; - case 98: goto tr73; - case 99: goto tr73; - case 100: goto tr73; - case 101: goto tr73; - case 102: goto tr73; - case 103: goto tr73; - case 104: goto tr73; - case 105: goto tr171; - case 106: goto tr73; - case 107: goto tr73; - case 108: goto tr73; - case 109: goto tr73; - case 110: goto tr73; - case 111: goto tr73; - case 112: goto tr73; - case 113: goto tr73; - case 114: goto tr73; - case 115: goto tr73; - case 116: goto tr73; - case 117: goto tr191; - case 118: goto tr73; - case 119: goto tr73; - case 120: goto tr73; - case 121: goto tr73; - case 122: goto tr73; - case 123: goto tr73; - case 124: goto tr73; - case 125: goto tr73; - case 126: goto tr73; - case 127: goto tr73; - case 128: goto tr73; - case 129: goto tr73; - case 130: goto tr73; - case 131: goto tr73; - case 132: goto tr73; - case 133: goto tr73; - case 134: goto tr73; - case 135: goto tr73; - case 136: goto tr211; - case 137: goto tr73; - case 138: goto tr73; - case 139: goto tr73; - case 140: goto tr73; - case 141: goto tr73; - case 142: goto tr73; - case 143: goto tr73; - case 144: goto tr73; - case 145: goto tr73; - case 146: goto tr73; - case 147: goto tr73; - case 148: goto tr227; - case 149: goto tr73; - case 150: goto tr73; - case 151: goto tr73; - case 152: goto tr73; - case 153: goto tr233; + case 20: goto tr67; + case 21: goto tr69; + case 22: goto tr67; + case 23: goto tr70; + case 24: goto tr72; + case 25: goto tr74; + case 26: goto tr76; + case 27: goto tr74; + case 28: goto tr74; + case 29: goto tr74; + case 30: goto tr74; + case 31: goto tr74; + case 32: goto tr74; + case 33: goto tr74; + case 34: goto tr74; + case 35: goto tr74; + case 36: goto tr74; + case 37: goto tr74; + case 38: goto tr92; + case 39: goto tr74; + case 40: goto tr74; + case 41: goto tr74; + case 42: goto tr74; + case 43: goto tr74; + case 44: goto tr74; + case 45: goto tr74; + case 46: goto tr74; + case 47: goto tr74; + case 48: goto tr74; + case 49: goto tr74; + case 50: goto tr74; + case 51: goto tr107; + case 52: goto tr74; + case 53: goto tr74; + case 54: goto tr74; + case 55: goto tr74; + case 56: goto tr74; + case 57: goto tr74; + case 58: goto tr74; + case 59: goto tr74; + case 60: goto tr74; + case 61: goto tr74; + case 62: goto tr74; + case 63: goto tr74; + case 64: goto tr74; + case 65: goto tr74; + case 66: goto tr74; + case 67: goto tr74; + case 68: goto tr74; case 8: goto tr9; - case 9: goto tr9; - case 154: goto tr73; - case 155: goto tr73; - case 156: goto tr73; - case 157: goto tr73; - case 158: goto tr73; - case 159: goto tr73; - case 160: goto tr73; - case 161: goto tr73; - case 162: goto tr73; - case 163: goto tr244; - case 10: goto tr12; - case 11: goto tr12; - case 164: goto tr73; - case 165: goto tr73; - case 166: goto tr73; - case 167: goto tr73; - case 168: goto tr73; - case 169: goto tr73; - case 170: goto tr73; - case 171: goto tr73; - case 172: goto tr73; - case 173: goto tr73; - case 174: goto tr73; - case 175: goto tr73; - case 176: goto tr73; - case 177: goto tr73; + case 69: goto tr74; + case 70: goto tr74; + case 71: goto tr74; + case 72: goto tr74; + case 73: goto tr74; + case 74: goto tr74; + case 75: goto tr74; + case 76: goto tr74; + case 77: goto tr74; + case 78: goto tr74; + case 79: goto tr74; + case 80: goto tr74; + case 81: goto tr74; + case 82: goto tr74; + case 83: goto tr142; + case 84: goto tr74; + case 85: goto tr74; + case 86: goto tr74; + case 87: goto tr149; + case 88: goto tr74; + case 89: goto tr74; + case 90: goto tr74; + case 91: goto tr74; + case 92: goto tr74; + case 93: goto tr157; + case 94: goto tr74; + case 95: goto tr74; + case 96: goto tr74; + case 97: goto tr74; + case 98: goto tr74; + case 99: goto tr74; + case 100: goto tr74; + case 101: goto tr74; + case 102: goto tr74; + case 103: goto tr74; + case 104: goto tr74; + case 105: goto tr74; + case 106: goto tr74; + case 107: goto tr174; + case 108: goto tr74; + case 109: goto tr74; + case 110: goto tr74; + case 111: goto tr74; + case 112: goto tr74; + case 113: goto tr74; + case 114: goto tr74; + case 115: goto tr74; + case 116: goto tr74; + case 117: goto tr74; + case 118: goto tr74; + case 119: goto tr194; + case 120: goto tr74; + case 121: goto tr74; + case 122: goto tr74; + case 123: goto tr74; + case 124: goto tr74; + case 125: goto tr74; + case 126: goto tr74; + case 127: goto tr74; + case 128: goto tr74; + case 129: goto tr74; + case 130: goto tr74; + case 131: goto tr74; + case 132: goto tr74; + case 133: goto tr74; + case 134: goto tr74; + case 135: goto tr74; + case 136: goto tr74; + case 137: goto tr74; + case 138: goto tr214; + case 139: goto tr74; + case 140: goto tr74; + case 141: goto tr74; + case 142: goto tr74; + case 143: goto tr74; + case 144: goto tr74; + case 145: goto tr74; + case 146: goto tr74; + case 147: goto tr74; + case 148: goto tr74; + case 149: goto tr74; + case 150: goto tr230; + case 151: goto tr74; + case 152: goto tr74; + case 153: goto tr74; + case 154: goto tr74; + case 155: goto tr236; + case 9: goto tr11; + case 10: goto tr11; + case 156: goto tr74; + case 157: goto tr74; + case 158: goto tr74; + case 159: goto tr74; + case 160: goto tr74; + case 161: goto tr74; + case 162: goto tr74; + case 163: goto tr74; + case 164: goto tr74; + case 165: goto tr247; + case 11: goto tr14; + case 12: goto tr14; + case 166: goto tr74; + case 167: goto tr74; + case 168: goto tr74; + case 169: goto tr74; + case 170: goto tr74; + case 171: goto tr74; + case 172: goto tr74; + case 173: goto tr74; + case 174: goto tr74; + case 175: goto tr74; + case 176: goto tr74; + case 177: goto tr74; + case 178: goto tr74; + case 179: goto tr74; } } _out: {} } -#line 708 "patchExprScanner.rl" +#line 728 "patchExprScanner.rl" /* ^^^ FSM execution here ^^^ */; if (0 == cs) diff --git a/src/finiteVolume/expressions/patch/patchExprScanner.rl b/src/finiteVolume/expressions/patch/patchExprScanner.rl index 4ba56036212c21c4e32a043649bcfeaf8ee31b02..34f8ddd84ae2d9aceab827a7da001b5eb6345ba7 100644 --- a/src/finiteVolume/expressions/patch/patchExprScanner.rl +++ b/src/finiteVolume/expressions/patch/patchExprScanner.rl @@ -352,12 +352,16 @@ static int driverTokenType decimal = ((digit* '.' digit+) | (digit+ '.'?)) ; number = ((digit+ | decimal) ([Ee][\-+]? digit+)?) ; - ident = ((alpha|'_') . ((alnum|[._])**)) ; + identifier = ((alpha|'_') . ((alnum|[._])**)) ; dquoted = '"' [^\"]+ '"' ; squoted = "'" [^\']+ "'" ; + ## Allow 'fn:' prefix for function identifier + ident = ('fn:')? identifier ; + ## =========== ## The scanner + ## =========== main := |* space*; @@ -571,6 +575,22 @@ bool Foam::expressions::patchExpr::scanner::dispatch_ident do { + #undef doLocalCode + #define doLocalCode(TokType, Type) \ + if (driver_.isFunction<Type>(funcName)) \ + { \ + ident = std::move(funcName); \ + tokType = TokType; \ + break; \ + } + + #ifdef TOK_SCALAR_FUNCTION_ID + doLocalCode(TOK_SCALAR_FUNCTION_ID, scalar); + #endif + #ifdef TOK_VECTOR_FUNCTION_ID + doLocalCode(TOK_VECTOR_FUNCTION_ID, vector); + #endif + #undef doLocalCode } while (false); } diff --git a/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 b/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 index 23ecd5e99e4e011e0b21875bfe3e9e9a61517dce..c280458f594dd5e4a3fc79f12c354de32e11b93b 100644 --- a/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 +++ b/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 @@ -180,8 +180,11 @@ svalue (lhs) ::= DELTA_T LPAREN RPAREN . { lhs = driver->deltaT(); } svalue (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN RPAREN . { - driver->reportFatal("Not implemented: " + make_obj(name.name_)); - lhs = 0; + lhs = driver->getFunctionValue<Foam::scalar> + ( + make_obj(name.name_), + driver->timeValue() + ); } @@ -200,8 +203,12 @@ vvalue (lhs) ::= VECTOR_VALUE (tok) . vvalue (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN RPAREN . { - driver->reportFatal("Not implemented: " + make_obj(name.name_)); - lhs = new Foam::vector(0,0,0); + auto val = driver->getFunctionValue<Foam::vector> + ( + make_obj(name.name_), + driver->timeValue() + ); + lhs = new Foam::vector(val); } @@ -261,8 +268,12 @@ _target_ (lhs) ::= RAND LPAREN NUMBER (seed) RPAREN . _target_ (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -291,8 +302,12 @@ rules_vector_functions() _target_ (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -420,8 +435,12 @@ rule_binary_assign(_target_, _target_, _target_, HYPOT, Foam::hypotOp<_value_typ _target_ (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -448,8 +467,12 @@ rules_vector_functions() _target_ (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -584,8 +607,12 @@ rule_binary_assign(_target_, _target_, _target_, HYPOT, Foam::hypotOp<_value_typ _target_ (lhs) ::= SCALAR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } @@ -659,8 +686,12 @@ rules_vector_functions() _target_ (lhs) ::= VECTOR_FUNCTION_ID (name) LPAREN _scalar_arg_ (values) RPAREN. { lhs = _new_target_; - (void) make_obj(values); - driver->reportFatal("Not implemented: " + make_obj(name.name_)); + driver->fillFunctionValues<_value_type_> + ( + *lhs, + make_obj(name.name_), + make_obj(values) + ); } /*---------------------------------------------------------------------------*\ diff --git a/src/finiteVolume/expressions/volume/volumeExprScanner.cc b/src/finiteVolume/expressions/volume/volumeExprScanner.cc index 735eacbec7d2b2ea7895323b81f4c39d72ae7383..ace78ea62176dae234fc5d9f4b262111464c415f 100644 --- a/src/finiteVolume/expressions/volume/volumeExprScanner.cc +++ b/src/finiteVolume/expressions/volume/volumeExprScanner.cc @@ -330,14 +330,14 @@ static int driverTokenType #line 333 "volumeExprScanner.cc" -static const int volumeExpr_start = 13; -static const int volumeExpr_first_final = 13; +static const int volumeExpr_start = 14; +static const int volumeExpr_first_final = 14; static const int volumeExpr_error = 0; -static const int volumeExpr_en_main = 13; +static const int volumeExpr_en_main = 14; -#line 480 "volumeExprScanner.rl" +#line 484 "volumeExprScanner.rl" @@ -446,6 +446,22 @@ bool Foam::expressions::volumeExpr::scanner::dispatch_ident do { + #undef doLocalCode + #define doLocalCode(TokType, Type) \ + if (driver_.isFunction<Type>(funcName)) \ + { \ + ident = std::move(funcName); \ + tokType = TokType; \ + break; \ + } + + #ifdef TOK_SCALAR_FUNCTION_ID + doLocalCode(TOK_SCALAR_FUNCTION_ID, scalar); + #endif + #ifdef TOK_VECTOR_FUNCTION_ID + doLocalCode(TOK_VECTOR_FUNCTION_ID, vector); + #endif + #undef doLocalCode } while (false); } @@ -579,7 +595,7 @@ bool Foam::expressions::volumeExpr::scanner::process // Initialize FSM variables -#line 583 "volumeExprScanner.cc" +#line 599 "volumeExprScanner.cc" { cs = volumeExpr_start; ts = 0; @@ -587,11 +603,11 @@ bool Foam::expressions::volumeExpr::scanner::process act = 0; } -#line 720 "volumeExprScanner.rl" +#line 740 "volumeExprScanner.rl" /* ^^^ FSM initialization here ^^^ */; -#line 595 "volumeExprScanner.cc" +#line 611 "volumeExprScanner.cc" { if ( p == pe ) goto _test_eof; @@ -605,7 +621,7 @@ tr2: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr4: #line 358 "volumeExprScanner.rl" {te = p+1;{ @@ -614,7 +630,7 @@ tr4: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr5: #line 333 "volumeExprScanner.rl" {{p = ((te))-1;}{ @@ -641,108 +657,117 @@ tr5: driver_.parsePosition() = (p-buf); }} - goto st13; + goto st14; tr8: -#line 402 "volumeExprScanner.rl" +#line 406 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(EQUAL); }} - goto st13; + goto st14; tr9: -#line 456 "volumeExprScanner.rl" - {{p = ((te))-1;}{ EMIT_TOKEN(TENSOR); }} - goto st13; +#line 358 "volumeExprScanner.rl" + {{p = ((te))-1;}{ + // Emit identifier + driver_.parsePosition() = (ts-buf); + dispatch_ident(driver_, word(ts, te-ts, false)); + driver_.parsePosition() = (p-buf); + }} + goto st14; tr11: -#line 467 "volumeExprScanner.rl" +#line 460 "volumeExprScanner.rl" + {{p = ((te))-1;}{ EMIT_TOKEN(TENSOR); }} + goto st14; +tr13: +#line 471 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(IDENTITY_TENSOR); }} - goto st13; -tr12: -#line 455 "volumeExprScanner.rl" - {{p = ((te))-1;}{ EMIT_TOKEN(VECTOR); }} - goto st13; + goto st14; tr14: -#line 464 "volumeExprScanner.rl" +#line 459 "volumeExprScanner.rl" + {{p = ((te))-1;}{ EMIT_TOKEN(VECTOR); }} + goto st14; +tr16: +#line 468 "volumeExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(1,0,0); }} - goto st13; -tr15: -#line 465 "volumeExprScanner.rl" + goto st14; +tr17: +#line 469 "volumeExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(0,1,0); }} - goto st13; -tr16: -#line 466 "volumeExprScanner.rl" + goto st14; +tr18: +#line 470 "volumeExprScanner.rl" {te = p+1;{ EMIT_VECTOR_TOKEN(0,0,1); }} - goto st13; -tr17: -#line 405 "volumeExprScanner.rl" + goto st14; +tr19: +#line 409 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(LOR); }} - goto st13; -tr21: -#line 387 "volumeExprScanner.rl" + goto st14; +tr23: +#line 391 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(PERCENT); }} - goto st13; -tr24: -#line 388 "volumeExprScanner.rl" + goto st14; +tr26: +#line 392 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(LPAREN); }} - goto st13; -tr25: -#line 389 "volumeExprScanner.rl" + goto st14; +tr27: +#line 393 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(RPAREN); }} - goto st13; -tr26: -#line 390 "volumeExprScanner.rl" + goto st14; +tr28: +#line 394 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(TIMES); }} - goto st13; -tr27: -#line 391 "volumeExprScanner.rl" + goto st14; +tr29: +#line 395 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(PLUS); }} - goto st13; -tr28: -#line 393 "volumeExprScanner.rl" + goto st14; +tr30: +#line 397 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(COMMA); }} - goto st13; -tr29: -#line 392 "volumeExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(MINUS); }} - goto st13; + goto st14; tr31: -#line 395 "volumeExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(DIVIDE); }} - goto st13; +#line 396 "volumeExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(MINUS); }} + goto st14; tr33: -#line 397 "volumeExprScanner.rl" +#line 399 "volumeExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(DIVIDE); }} + goto st14; +tr35: +#line 401 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(COLON); }} - goto st13; -tr37: -#line 396 "volumeExprScanner.rl" + goto st14; +tr39: +#line 400 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(QUESTION); }} - goto st13; -tr40: -#line 408 "volumeExprScanner.rl" + goto st14; +tr41: +#line 412 "volumeExprScanner.rl" {te = p+1;{ EMIT_TOKEN(BIT_XOR); }} - goto st13; -tr57: -#line 381 "volumeExprScanner.rl" - {te = p;p--;} - goto st13; + goto st14; tr58: -#line 386 "volumeExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(LNOT); }} - goto st13; +#line 385 "volumeExprScanner.rl" + {te = p;p--;} + goto st14; tr59: -#line 403 "volumeExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(NOT_EQUAL); }} - goto st13; +#line 390 "volumeExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(LNOT); }} + goto st14; tr60: -#line 406 "volumeExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(BIT_AND); }} - goto st13; +#line 407 "volumeExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(NOT_EQUAL); }} + goto st14; tr61: -#line 404 "volumeExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(LAND); }} - goto st13; +#line 410 "volumeExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(BIT_AND); }} + goto st14; tr62: -#line 394 "volumeExprScanner.rl" +#line 408 "volumeExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(LAND); }} + goto st14; +tr63: +#line 398 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(DOT); }} - goto st13; -tr65: + goto st14; +tr66: #line 333 "volumeExprScanner.rl" {te = p;p--;{ // Emit number @@ -768,8 +793,8 @@ tr65: driver_.parsePosition() = (p-buf); }} - goto st13; -tr67: + goto st14; +tr68: #line 365 "volumeExprScanner.rl" {te = p;p--;{ // Tokenized ".method" - dispatch '.' and "method" separately @@ -777,24 +802,24 @@ tr67: dispatch_method(driver_, word(ts+1, te-ts-1, false)); driver_.parsePosition() = (p-buf); }} - goto st13; -tr68: -#line 398 "volumeExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(LESS); }} - goto st13; + goto st14; tr69: -#line 399 "volumeExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(LESS_EQ); }} - goto st13; +#line 402 "volumeExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(LESS); }} + goto st14; tr70: -#line 400 "volumeExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(GREATER); }} - goto st13; +#line 403 "volumeExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(LESS_EQ); }} + goto st14; tr71: -#line 401 "volumeExprScanner.rl" - {te = p+1;{ EMIT_TOKEN(GREATER_EQ); }} - goto st13; +#line 404 "volumeExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(GREATER); }} + goto st14; tr72: +#line 405 "volumeExprScanner.rl" + {te = p+1;{ EMIT_TOKEN(GREATER_EQ); }} + goto st14; +tr73: #line 358 "volumeExprScanner.rl" {te = p;p--;{ // Emit identifier @@ -802,8 +827,8 @@ tr72: dispatch_ident(driver_, word(ts, te-ts, false)); driver_.parsePosition() = (p-buf); }} - goto st13; -tr74: + goto st14; +tr75: #line 1 "NONE" { switch( act ) { case 26: @@ -918,131 +943,131 @@ tr74: break; } } - goto st13; -tr90: -#line 430 "volumeExprScanner.rl" + goto st14; +tr91: +#line 434 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(ATAN); }} - goto st13; -tr105: -#line 426 "volumeExprScanner.rl" + goto st14; +tr106: +#line 430 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(COS); }} - goto st13; -tr126: -#line 419 "volumeExprScanner.rl" + goto st14; +tr129: +#line 423 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(LOG); }} - goto st13; -tr133: -#line 435 "volumeExprScanner.rl" - {te = p;p--;{ EMIT_TOKEN(MAG); }} - goto st13; -tr140: + goto st14; +tr136: #line 439 "volumeExprScanner.rl" + {te = p;p--;{ EMIT_TOKEN(MAG); }} + goto st14; +tr143: +#line 443 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(NEG); }} - goto st13; -tr146: -#line 438 "volumeExprScanner.rl" + goto st14; +tr149: +#line 442 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(POS); }} - goto st13; -tr165: -#line 425 "volumeExprScanner.rl" + goto st14; +tr168: +#line 429 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SIN); }} - goto st13; -tr181: -#line 422 "volumeExprScanner.rl" + goto st14; +tr184: +#line 426 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SQR); }} - goto st13; -tr197: -#line 427 "volumeExprScanner.rl" + goto st14; +tr200: +#line 431 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TAN); }} - goto st13; -tr203: -#line 456 "volumeExprScanner.rl" + goto st14; +tr206: +#line 460 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TENSOR); }} - goto st13; -tr214: -#line 455 "volumeExprScanner.rl" + goto st14; +tr217: +#line 459 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(VECTOR); }} - goto st13; -st13: + goto st14; +st14: #line 1 "NONE" {ts = 0;} if ( ++p == pe ) - goto _test_eof13; -case 13: + goto _test_eof14; +case 14: #line 1 "NONE" {ts = p;} -#line 975 "volumeExprScanner.cc" +#line 1000 "volumeExprScanner.cc" switch( (*p) ) { - case 32: goto st14; - case 33: goto st15; + case 32: goto st15; + case 33: goto st16; case 34: goto st1; - case 37: goto tr21; - case 38: goto st16; + case 37: goto tr23; + case 38: goto st17; case 39: goto st3; - case 40: goto tr24; - case 41: goto tr25; - case 42: goto tr26; - case 43: goto tr27; - case 44: goto tr28; - case 45: goto tr29; - case 46: goto st17; - case 47: goto tr31; - case 58: goto tr33; - case 60: goto st22; + case 40: goto tr26; + case 41: goto tr27; + case 42: goto tr28; + case 43: goto tr29; + case 44: goto tr30; + case 45: goto tr31; + case 46: goto st18; + case 47: goto tr33; + case 58: goto tr35; + case 60: goto st23; case 61: goto st7; - case 62: goto st23; - case 63: goto tr37; - case 90: goto st26; - case 94: goto tr40; - case 95: goto st24; - case 97: goto st29; - case 98: goto st43; - case 99: goto st46; - case 100: goto st51; - case 101: goto st61; - case 102: goto st63; - case 108: goto st67; - case 109: goto st71; - case 110: goto st77; - case 112: goto st80; - case 114: goto st83; - case 115: goto st91; - case 116: goto st119; - case 118: goto st131; - case 119: goto st137; - case 124: goto st12; + case 62: goto st24; + case 63: goto tr39; + case 90: goto st27; + case 94: goto tr41; + case 95: goto st25; + case 97: goto st30; + case 98: goto st44; + case 99: goto st47; + case 100: goto st52; + case 101: goto st62; + case 102: goto st64; + case 108: goto st69; + case 109: goto st73; + case 110: goto st79; + case 112: goto st82; + case 114: goto st85; + case 115: goto st93; + case 116: goto st121; + case 118: goto st133; + case 119: goto st139; + case 124: goto st13; } if ( (*p) < 48 ) { if ( 9 <= (*p) && (*p) <= 13 ) - goto st14; + goto st15; } else if ( (*p) > 57 ) { if ( (*p) > 89 ) { if ( 103 <= (*p) && (*p) <= 122 ) - goto st24; + goto st25; } else if ( (*p) >= 65 ) - goto st24; + goto st25; } else - goto tr32; + goto tr34; goto st0; st0: cs = 0; goto _out; -st14: - if ( ++p == pe ) - goto _test_eof14; -case 14: - if ( (*p) == 32 ) - goto st14; - if ( 9 <= (*p) && (*p) <= 13 ) - goto st14; - goto tr57; st15: if ( ++p == pe ) goto _test_eof15; case 15: - if ( (*p) == 61 ) - goto tr59; + if ( (*p) == 32 ) + goto st15; + if ( 9 <= (*p) && (*p) <= 13 ) + goto st15; goto tr58; +st16: + if ( ++p == pe ) + goto _test_eof16; +case 16: + if ( (*p) == 61 ) + goto tr60; + goto tr59; st1: if ( ++p == pe ) goto _test_eof1; @@ -1057,13 +1082,13 @@ case 2: if ( (*p) == 34 ) goto tr2; goto st2; -st16: +st17: if ( ++p == pe ) - goto _test_eof16; -case 16: + goto _test_eof17; +case 17: if ( (*p) == 38 ) - goto tr61; - goto tr60; + goto tr62; + goto tr61; st3: if ( ++p == pe ) goto _test_eof3; @@ -1078,35 +1103,35 @@ case 4: if ( (*p) == 39 ) goto tr4; goto st4; -st17: +st18: if ( ++p == pe ) - goto _test_eof17; -case 17: + goto _test_eof18; +case 18: if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr63; + goto tr64; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto st20; + goto st21; } else - goto st20; - goto tr62; -tr63: + goto st21; + goto tr63; +tr64: #line 1 "NONE" {te = p+1;} - goto st18; -st18: + goto st19; +st19: if ( ++p == pe ) - goto _test_eof18; -case 18: -#line 1103 "volumeExprScanner.cc" + goto _test_eof19; +case 19: +#line 1128 "volumeExprScanner.cc" switch( (*p) ) { case 69: goto st5; case 101: goto st5; } if ( 48 <= (*p) && (*p) <= 57 ) - goto tr63; - goto tr65; + goto tr64; + goto tr66; st5: if ( ++p == pe ) goto _test_eof5; @@ -1116,56 +1141,56 @@ case 5: case 45: goto st6; } if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; + goto st20; goto tr5; st6: if ( ++p == pe ) goto _test_eof6; case 6: if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; + goto st20; goto tr5; -st19: - if ( ++p == pe ) - goto _test_eof19; -case 19: - if ( 48 <= (*p) && (*p) <= 57 ) - goto st19; - goto tr65; st20: if ( ++p == pe ) goto _test_eof20; case 20: + if ( 48 <= (*p) && (*p) <= 57 ) + goto st20; + goto tr66; +st21: + if ( ++p == pe ) + goto _test_eof21; +case 21: if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto st20; + goto st21; } else if ( (*p) >= 65 ) - goto st20; - goto tr67; -tr32: + goto st21; + goto tr68; +tr34: #line 1 "NONE" {te = p+1;} - goto st21; -st21: + goto st22; +st22: if ( ++p == pe ) - goto _test_eof21; -case 21: -#line 1154 "volumeExprScanner.cc" + goto _test_eof22; +case 22: +#line 1179 "volumeExprScanner.cc" switch( (*p) ) { - case 46: goto tr63; + case 46: goto tr64; case 69: goto st5; case 101: goto st5; } if ( 48 <= (*p) && (*p) <= 57 ) - goto tr32; - goto tr65; -st22: + goto tr34; + goto tr66; +st23: if ( ++p == pe ) - goto _test_eof22; -case 22: + goto _test_eof23; +case 23: if ( (*p) == 61 ) - goto tr69; - goto tr68; + goto tr70; + goto tr69; st7: if ( ++p == pe ) goto _test_eof7; @@ -1173,2595 +1198,2630 @@ case 7: if ( (*p) == 61 ) goto tr8; goto st0; -st23: - if ( ++p == pe ) - goto _test_eof23; -case 23: - if ( (*p) == 61 ) - goto tr71; - goto tr70; st24: if ( ++p == pe ) goto _test_eof24; case 24: + if ( (*p) == 61 ) + goto tr72; + goto tr71; +st25: + if ( ++p == pe ) + goto _test_eof25; +case 25: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; -tr73: + goto tr74; + goto tr73; +tr74: #line 1 "NONE" {te = p+1;} #line 358 "volumeExprScanner.rl" {act = 75;} - goto st25; -tr77: + goto st26; +tr78: #line 1 "NONE" {te = p+1;} -#line 463 "volumeExprScanner.rl" +#line 467 "volumeExprScanner.rl" {act = 67;} - goto st25; -tr84: + goto st26; +tr85: #line 1 "NONE" {te = p+1;} -#line 429 "volumeExprScanner.rl" +#line 433 "volumeExprScanner.rl" {act = 40;} - goto st25; -tr85: + goto st26; +tr86: #line 1 "NONE" {te = p+1;} -#line 468 "volumeExprScanner.rl" +#line 472 "volumeExprScanner.rl" {act = 72;} - goto st25; -tr87: + goto st26; +tr88: #line 1 "NONE" {te = p+1;} -#line 428 "volumeExprScanner.rl" +#line 432 "volumeExprScanner.rl" {act = 39;} - goto st25; -tr91: + goto st26; +tr92: #line 1 "NONE" {te = p+1;} -#line 431 "volumeExprScanner.rl" +#line 435 "volumeExprScanner.rl" {act = 42;} - goto st25; -tr96: + goto st26; +tr97: #line 1 "NONE" {te = p+1;} -#line 447 "volumeExprScanner.rl" +#line 451 "volumeExprScanner.rl" {act = 55;} - goto st25; -tr99: + goto st26; +tr100: #line 1 "NONE" {te = p+1;} -#line 454 "volumeExprScanner.rl" +#line 458 "volumeExprScanner.rl" {act = 60;} - goto st25; -tr103: + goto st26; +tr104: #line 1 "NONE" {te = p+1;} -#line 424 "volumeExprScanner.rl" +#line 428 "volumeExprScanner.rl" {act = 35;} - goto st25; -tr106: + goto st26; +tr107: #line 1 "NONE" {te = p+1;} -#line 433 "volumeExprScanner.rl" +#line 437 "volumeExprScanner.rl" {act = 44;} - goto st25; -tr114: + goto st26; +tr115: #line 1 "NONE" {te = p+1;} -#line 416 "volumeExprScanner.rl" +#line 420 "volumeExprScanner.rl" {act = 27;} - goto st25; -tr117: + goto st26; +tr118: #line 1 "NONE" {te = p+1;} -#line 470 "volumeExprScanner.rl" +#line 474 "volumeExprScanner.rl" {act = 74;} - goto st25; -tr119: + goto st26; +tr120: #line 1 "NONE" {te = p+1;} -#line 418 "volumeExprScanner.rl" +#line 422 "volumeExprScanner.rl" {act = 29;} - goto st25; -tr123: + goto st26; +tr125: #line 1 "NONE" {te = p+1;} -#line 462 "volumeExprScanner.rl" +#line 466 "volumeExprScanner.rl" {act = 66;} - goto st25; -tr128: + goto st26; +tr131: #line 1 "NONE" {te = p+1;} -#line 420 "volumeExprScanner.rl" +#line 424 "volumeExprScanner.rl" {act = 31;} - goto st25; -tr132: + goto st26; +tr135: #line 1 "NONE" {te = p+1;} -#line 446 "volumeExprScanner.rl" +#line 450 "volumeExprScanner.rl" {act = 54;} - goto st25; -tr136: + goto st26; +tr139: #line 1 "NONE" {te = p+1;} -#line 436 "volumeExprScanner.rl" +#line 440 "volumeExprScanner.rl" {act = 47;} - goto st25; -tr137: + goto st26; +tr140: #line 1 "NONE" {te = p+1;} -#line 445 "volumeExprScanner.rl" +#line 449 "volumeExprScanner.rl" {act = 53;} - goto st25; -tr141: + goto st26; +tr144: #line 1 "NONE" {te = p+1;} -#line 441 "volumeExprScanner.rl" +#line 445 "volumeExprScanner.rl" {act = 51;} - goto st25; -tr142: + goto st26; +tr145: #line 1 "NONE" {te = p+1;} -#line 415 "volumeExprScanner.rl" +#line 419 "volumeExprScanner.rl" {act = 26;} - goto st25; -tr145: + goto st26; +tr148: #line 1 "NONE" {te = p+1;} -#line 421 "volumeExprScanner.rl" +#line 425 "volumeExprScanner.rl" {act = 32;} - goto st25; -tr147: + goto st26; +tr150: #line 1 "NONE" {te = p+1;} -#line 440 "volumeExprScanner.rl" +#line 444 "volumeExprScanner.rl" {act = 50;} - goto st25; -tr155: + goto st26; +tr158: #line 1 "NONE" {te = p+1;} -#line 417 "volumeExprScanner.rl" +#line 421 "volumeExprScanner.rl" {act = 28;} - goto st25; -tr156: + goto st26; +tr159: #line 1 "NONE" {te = p+1;} -#line 451 "volumeExprScanner.rl" +#line 455 "volumeExprScanner.rl" {act = 59;} - goto st25; -tr164: + goto st26; +tr167: #line 1 "NONE" {te = p+1;} -#line 442 "volumeExprScanner.rl" +#line 446 "volumeExprScanner.rl" {act = 52;} - goto st25; -tr166: + goto st26; +tr169: #line 1 "NONE" {te = p+1;} -#line 432 "volumeExprScanner.rl" +#line 436 "volumeExprScanner.rl" {act = 43;} - goto st25; -tr179: + goto st26; +tr182: #line 1 "NONE" {te = p+1;} -#line 458 "volumeExprScanner.rl" +#line 462 "volumeExprScanner.rl" {act = 64;} - goto st25; -tr182: + goto st26; +tr185: #line 1 "NONE" {te = p+1;} -#line 423 "volumeExprScanner.rl" +#line 427 "volumeExprScanner.rl" {act = 34;} - goto st25; -tr183: + goto st26; +tr186: #line 1 "NONE" {te = p+1;} -#line 448 "volumeExprScanner.rl" +#line 452 "volumeExprScanner.rl" {act = 56;} - goto st25; -tr191: + goto st26; +tr194: #line 1 "NONE" {te = p+1;} -#line 457 "volumeExprScanner.rl" +#line 461 "volumeExprScanner.rl" {act = 63;} - goto st25; -tr198: + goto st26; +tr201: #line 1 "NONE" {te = p+1;} -#line 434 "volumeExprScanner.rl" +#line 438 "volumeExprScanner.rl" {act = 45;} - goto st25; -tr206: + goto st26; +tr209: #line 1 "NONE" {te = p+1;} -#line 469 "volumeExprScanner.rl" +#line 473 "volumeExprScanner.rl" {act = 73;} - goto st25; -tr208: + goto st26; +tr211: #line 1 "NONE" {te = p+1;} -#line 461 "volumeExprScanner.rl" +#line 465 "volumeExprScanner.rl" {act = 65;} - goto st25; -tr228: + goto st26; +tr231: #line 1 "NONE" {te = p+1;} -#line 449 "volumeExprScanner.rl" +#line 453 "volumeExprScanner.rl" {act = 57;} - goto st25; -tr230: + goto st26; +tr233: #line 1 "NONE" {te = p+1;} -#line 450 "volumeExprScanner.rl" +#line 454 "volumeExprScanner.rl" {act = 58;} - goto st25; -st25: - if ( ++p == pe ) - goto _test_eof25; -case 25: -#line 1415 "volumeExprScanner.cc" - switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - } - if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; - } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; - } else - goto tr73; - goto tr74; + goto st26; st26: if ( ++p == pe ) goto _test_eof26; case 26: +#line 1440 "volumeExprScanner.cc" switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st27; + case 46: goto tr74; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr75; st27: if ( ++p == pe ) goto _test_eof27; case 27: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto st28; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st28; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st28: if ( ++p == pe ) goto _test_eof28; case 28: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto tr77; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto st29; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st29: if ( ++p == pe ) goto _test_eof29; case 29: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 99: goto st30; - case 114: goto st32; - case 115: goto st33; - case 116: goto st35; - case 118: goto st38; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto tr78; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st30: if ( ++p == pe ) goto _test_eof30; case 30: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st31; + case 46: goto tr74; + case 95: goto tr74; + case 99: goto st31; + case 114: goto st33; + case 115: goto st34; + case 116: goto st36; + case 118: goto st39; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st31: if ( ++p == pe ) goto _test_eof31; case 31: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 115: goto tr84; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st32; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st32: if ( ++p == pe ) goto _test_eof32; case 32: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto tr85; + case 46: goto tr74; + case 95: goto tr74; + case 115: goto tr85; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st33: if ( ++p == pe ) goto _test_eof33; case 33: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 105: goto st34; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto tr86; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st34: if ( ++p == pe ) goto _test_eof34; case 34: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 110: goto tr87; + case 46: goto tr74; + case 95: goto tr74; + case 105: goto st35; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st35: if ( ++p == pe ) goto _test_eof35; case 35: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st36; + case 46: goto tr74; + case 95: goto tr74; + case 110: goto tr88; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st36: if ( ++p == pe ) goto _test_eof36; case 36: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 110: goto st37; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st37; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st37: if ( ++p == pe ) goto _test_eof37; case 37: switch( (*p) ) { - case 46: goto tr73; - case 50: goto tr91; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 110: goto st38; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr90; + goto tr74; + goto tr73; st38: if ( ++p == pe ) goto _test_eof38; case 38: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st39; + case 46: goto tr74; + case 50: goto tr92; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr91; st39: if ( ++p == pe ) goto _test_eof39; case 39: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto st40; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st40; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st40: if ( ++p == pe ) goto _test_eof40; case 40: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st41; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto st41; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st41: if ( ++p == pe ) goto _test_eof41; case 41: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st42; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st42; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st42: if ( ++p == pe ) goto _test_eof42; case 42: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto tr96; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st43; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st43: if ( ++p == pe ) goto _test_eof43; case 43: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st44; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto tr97; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st44: if ( ++p == pe ) goto _test_eof44; case 44: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; case 111: goto st45; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st45: if ( ++p == pe ) goto _test_eof45; case 45: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 108: goto tr99; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st46; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st46: if ( ++p == pe ) goto _test_eof46; case 46: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 98: goto st47; - case 111: goto st49; + case 46: goto tr74; + case 95: goto tr74; + case 108: goto tr100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st47: if ( ++p == pe ) goto _test_eof47; case 47: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto st48; + case 46: goto tr74; + case 95: goto tr74; + case 98: goto st48; + case 111: goto st50; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st48: if ( ++p == pe ) goto _test_eof48; case 48: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 116: goto tr103; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto st49; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st49: if ( ++p == pe ) goto _test_eof49; case 49: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 115: goto st50; + case 46: goto tr74; + case 95: goto tr74; + case 116: goto tr104; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st50: if ( ++p == pe ) goto _test_eof50; case 50: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 104: goto tr106; + case 46: goto tr74; + case 95: goto tr74; + case 115: goto st51; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr105; + goto tr74; + goto tr73; st51: if ( ++p == pe ) goto _test_eof51; case 51: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st52; + case 46: goto tr74; + case 95: goto tr74; + case 104: goto tr107; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr106; st52: if ( ++p == pe ) goto _test_eof52; case 52: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st53; - case 108: goto st58; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st53; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st53: if ( ++p == pe ) goto _test_eof53; case 53: switch( (*p) ) { - case 46: goto tr73; - case 84: goto st54; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st54; + case 108: goto st59; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st54: if ( ++p == pe ) goto _test_eof54; case 54: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st55; + case 46: goto tr74; + case 84: goto st55; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st55: if ( ++p == pe ) goto _test_eof55; case 55: switch( (*p) ) { - case 46: goto tr73; - case 82: goto st56; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st56; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st56: if ( ++p == pe ) goto _test_eof56; case 56: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st57; + case 46: goto tr74; + case 82: goto st57; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st57: if ( ++p == pe ) goto _test_eof57; case 57: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 100: goto tr114; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st58; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st58: if ( ++p == pe ) goto _test_eof58; case 58: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 116: goto st59; + case 46: goto tr74; + case 95: goto tr74; + case 100: goto tr115; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st59: if ( ++p == pe ) goto _test_eof59; case 59: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st60; + case 46: goto tr74; + case 95: goto tr74; + case 116: goto st60; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st60: if ( ++p == pe ) goto _test_eof60; case 60: switch( (*p) ) { - case 46: goto tr73; - case 84: goto tr117; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st61; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st61: if ( ++p == pe ) goto _test_eof61; case 61: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 120: goto st62; + case 46: goto tr74; + case 84: goto tr118; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st62: if ( ++p == pe ) goto _test_eof62; case 62: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 112: goto tr119; + case 46: goto tr74; + case 95: goto tr74; + case 120: goto st63; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st63: if ( ++p == pe ) goto _test_eof63; case 63: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st64; + case 46: goto tr74; + case 95: goto tr74; + case 112: goto tr120; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st64: if ( ++p == pe ) goto _test_eof64; case 64: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 108: goto st65; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st65; + case 110: goto tr122; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st65: if ( ++p == pe ) goto _test_eof65; case 65: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 115: goto st66; + case 46: goto tr74; + case 95: goto tr74; + case 108: goto st66; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st66: if ( ++p == pe ) goto _test_eof66; case 66: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto tr123; + case 46: goto tr74; + case 95: goto tr74; + case 115: goto st67; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st67: if ( ++p == pe ) goto _test_eof67; case 67: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st68; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto tr125; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; +tr122: +#line 1 "NONE" + {te = p+1;} + goto st68; st68: if ( ++p == pe ) goto _test_eof68; case 68: +#line 2207 "volumeExprScanner.cc" switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st69; + case 46: goto tr74; + case 58: goto st8; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; +st8: + if ( ++p == pe ) + goto _test_eof8; +case 8: + if ( (*p) == 95 ) + goto st25; + if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto st25; + } else if ( (*p) >= 65 ) + goto st25; + goto tr9; st69: if ( ++p == pe ) goto _test_eof69; case 69: switch( (*p) ) { - case 46: goto tr73; - case 49: goto st70; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st70; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr126; + goto tr74; + goto tr73; st70: if ( ++p == pe ) goto _test_eof70; case 70: switch( (*p) ) { - case 46: goto tr73; - case 48: goto tr128; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st71; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr73; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st71: if ( ++p == pe ) goto _test_eof71; case 71: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st72; - case 105: goto st76; + case 46: goto tr74; + case 49: goto st72; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr129; st72: if ( ++p == pe ) goto _test_eof72; case 72: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st73; - case 120: goto tr132; + case 46: goto tr74; + case 48: goto tr131; + case 95: goto tr74; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st73: if ( ++p == pe ) goto _test_eof73; case 73: switch( (*p) ) { - case 46: goto tr73; - case 83: goto st74; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st74; + case 105: goto st78; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr133; + goto tr74; + goto tr73; st74: if ( ++p == pe ) goto _test_eof74; case 74: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 113: goto st75; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st75; + case 120: goto tr135; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st75: if ( ++p == pe ) goto _test_eof75; case 75: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto tr136; + case 46: goto tr74; + case 83: goto st76; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr136; st76: if ( ++p == pe ) goto _test_eof76; case 76: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 110: goto tr137; + case 46: goto tr74; + case 95: goto tr74; + case 113: goto st77; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st77: if ( ++p == pe ) goto _test_eof77; case 77: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st78; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto tr139; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st78: if ( ++p == pe ) goto _test_eof78; case 78: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st79; + case 46: goto tr74; + case 95: goto tr74; + case 110: goto tr140; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st79: if ( ++p == pe ) goto _test_eof79; case 79: switch( (*p) ) { - case 46: goto tr73; - case 48: goto tr141; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st80; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr73; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr140; + goto tr74; + goto tr73; st80: if ( ++p == pe ) goto _test_eof80; case 80: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 105: goto tr142; - case 111: goto st81; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st81; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st81: if ( ++p == pe ) goto _test_eof81; case 81: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 115: goto st82; - case 119: goto tr145; + case 46: goto tr74; + case 48: goto tr144; + case 95: goto tr74; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr143; st82: if ( ++p == pe ) goto _test_eof82; case 82: switch( (*p) ) { - case 46: goto tr73; - case 48: goto tr147; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 105: goto tr145; + case 111: goto st83; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) - goto tr73; + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr146; + goto tr74; + goto tr73; st83: if ( ++p == pe ) goto _test_eof83; case 83: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st84; + case 46: goto tr74; + case 95: goto tr74; + case 115: goto st84; + case 119: goto tr148; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st84: if ( ++p == pe ) goto _test_eof84; case 84: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 100: goto st85; - case 110: goto st90; + case 46: goto tr74; + case 48: goto tr150; + case 95: goto tr74; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + if ( 49 <= (*p) && (*p) <= 57 ) + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr149; st85: if ( ++p == pe ) goto _test_eof85; case 85: switch( (*p) ) { - case 46: goto tr73; - case 84: goto st86; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st86; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st86: if ( ++p == pe ) goto _test_eof86; case 86: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st87; + case 46: goto tr74; + case 95: goto tr74; + case 100: goto st87; + case 110: goto st92; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st87: if ( ++p == pe ) goto _test_eof87; case 87: switch( (*p) ) { - case 46: goto tr73; - case 68: goto st88; - case 95: goto tr73; + case 46: goto tr74; + case 84: goto st88; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st88: if ( ++p == pe ) goto _test_eof88; case 88: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st89; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st89; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st89: if ( ++p == pe ) goto _test_eof89; case 89: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto tr155; + case 46: goto tr74; + case 68: goto st90; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st90: if ( ++p == pe ) goto _test_eof90; case 90: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 100: goto tr156; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st91; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st91: if ( ++p == pe ) goto _test_eof91; case 91: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 105: goto st92; - case 112: goto st95; - case 113: goto st108; - case 117: goto st110; - case 121: goto st111; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto tr158; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st92: if ( ++p == pe ) goto _test_eof92; case 92: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st93; - case 110: goto st94; + case 46: goto tr74; + case 95: goto tr74; + case 100: goto tr159; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st93: if ( ++p == pe ) goto _test_eof93; case 93: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 110: goto tr164; + case 46: goto tr74; + case 95: goto tr74; + case 105: goto st94; + case 112: goto st97; + case 113: goto st110; + case 117: goto st112; + case 121: goto st113; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st94: if ( ++p == pe ) goto _test_eof94; case 94: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 104: goto tr166; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st95; + case 110: goto st96; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr165; + goto tr74; + goto tr73; st95: if ( ++p == pe ) goto _test_eof95; case 95: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 104: goto st96; + case 46: goto tr74; + case 95: goto tr74; + case 110: goto tr167; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st96: if ( ++p == pe ) goto _test_eof96; case 96: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st97; + case 46: goto tr74; + case 95: goto tr74; + case 104: goto tr169; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr168; st97: if ( ++p == pe ) goto _test_eof97; case 97: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto st98; + case 46: goto tr74; + case 95: goto tr74; + case 104: goto st98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st98: if ( ++p == pe ) goto _test_eof98; case 98: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 105: goto st99; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st99; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st99: if ( ++p == pe ) goto _test_eof99; case 99: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 99: goto st100; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto st100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st100: if ( ++p == pe ) goto _test_eof100; case 100: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st101; + case 46: goto tr74; + case 95: goto tr74; + case 105: goto st101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st101: if ( ++p == pe ) goto _test_eof101; case 101: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 108: goto st102; + case 46: goto tr74; + case 95: goto tr74; + case 99: goto st102; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st102: if ( ++p == pe ) goto _test_eof102; case 102: switch( (*p) ) { - case 46: goto tr73; - case 84: goto st103; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st103; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st103: if ( ++p == pe ) goto _test_eof103; case 103: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st104; + case 46: goto tr74; + case 95: goto tr74; + case 108: goto st104; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st104: if ( ++p == pe ) goto _test_eof104; case 104: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 110: goto st105; + case 46: goto tr74; + case 84: goto st105; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st105: if ( ++p == pe ) goto _test_eof105; case 105: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 115: goto st106; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st106; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st106: if ( ++p == pe ) goto _test_eof106; case 106: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st107; + case 46: goto tr74; + case 95: goto tr74; + case 110: goto st107; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st107: if ( ++p == pe ) goto _test_eof107; case 107: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto tr179; + case 46: goto tr74; + case 95: goto tr74; + case 115: goto st108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st108: if ( ++p == pe ) goto _test_eof108; case 108: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto st109; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st109; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st109: if ( ++p == pe ) goto _test_eof109; case 109: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 116: goto tr182; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto tr182; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr181; + goto tr74; + goto tr73; st110: if ( ++p == pe ) goto _test_eof110; case 110: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 109: goto tr183; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto st111; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st111: if ( ++p == pe ) goto _test_eof111; case 111: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 109: goto st112; + case 46: goto tr74; + case 95: goto tr74; + case 116: goto tr185; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr184; st112: if ( ++p == pe ) goto _test_eof112; case 112: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 109: goto st113; + case 46: goto tr74; + case 95: goto tr74; + case 109: goto tr186; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st113: if ( ++p == pe ) goto _test_eof113; case 113: switch( (*p) ) { - case 46: goto tr73; - case 84: goto st114; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 109: goto st114; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st114: if ( ++p == pe ) goto _test_eof114; case 114: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st115; + case 46: goto tr74; + case 95: goto tr74; + case 109: goto st115; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st115: if ( ++p == pe ) goto _test_eof115; case 115: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 110: goto st116; + case 46: goto tr74; + case 84: goto st116; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st116: if ( ++p == pe ) goto _test_eof116; case 116: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 115: goto st117; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st117; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st117: if ( ++p == pe ) goto _test_eof117; case 117: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st118; + case 46: goto tr74; + case 95: goto tr74; + case 110: goto st118; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st118: if ( ++p == pe ) goto _test_eof118; case 118: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto tr191; + case 46: goto tr74; + case 95: goto tr74; + case 115: goto st119; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st119: if ( ++p == pe ) goto _test_eof119; case 119: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st120; - case 101: goto st122; - case 105: goto st127; - case 114: goto st129; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st120; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st120: if ( ++p == pe ) goto _test_eof120; case 120: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 110: goto st121; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto tr194; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st121: if ( ++p == pe ) goto _test_eof121; case 121: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 104: goto tr198; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st122; + case 101: goto st124; + case 105: goto st129; + case 114: goto st131; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr197; + goto tr74; + goto tr73; st122: if ( ++p == pe ) goto _test_eof122; case 122: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; case 110: goto st123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st123: if ( ++p == pe ) goto _test_eof123; case 123: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 115: goto st124; + case 46: goto tr74; + case 95: goto tr74; + case 104: goto tr201; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr200; st124: if ( ++p == pe ) goto _test_eof124; case 124: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st125; + case 46: goto tr74; + case 95: goto tr74; + case 110: goto st125; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st125: if ( ++p == pe ) goto _test_eof125; case 125: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto tr202; + case 46: goto tr74; + case 95: goto tr74; + case 115: goto st126; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; -tr202: -#line 1 "NONE" - {te = p+1;} - goto st126; + goto tr74; + goto tr73; st126: if ( ++p == pe ) goto _test_eof126; case 126: -#line 3256 "volumeExprScanner.cc" switch( (*p) ) { - case 46: goto tr73; - case 58: goto st8; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr203; -st8: - if ( ++p == pe ) - goto _test_eof8; -case 8: - if ( (*p) == 58 ) - goto st9; - goto tr9; -st9: - if ( ++p == pe ) - goto _test_eof9; -case 9: - if ( (*p) == 73 ) - goto tr11; - goto tr9; + goto tr74; + goto tr73; st127: if ( ++p == pe ) goto _test_eof127; case 127: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 109: goto st128; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto tr205; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; +tr205: +#line 1 "NONE" + {te = p+1;} + goto st128; st128: if ( ++p == pe ) goto _test_eof128; case 128: +#line 3317 "volumeExprScanner.cc" switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto tr206; + case 46: goto tr74; + case 58: goto st9; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr206; +st9: + if ( ++p == pe ) + goto _test_eof9; +case 9: + if ( (*p) == 58 ) + goto st10; + goto tr11; +st10: + if ( ++p == pe ) + goto _test_eof10; +case 10: + if ( (*p) == 73 ) + goto tr13; + goto tr11; st129: if ( ++p == pe ) goto _test_eof129; case 129: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 117: goto st130; + case 46: goto tr74; + case 95: goto tr74; + case 109: goto st130; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st130: if ( ++p == pe ) goto _test_eof130; case 130: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto tr208; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto tr209; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st131: if ( ++p == pe ) goto _test_eof131; case 131: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st132; + case 46: goto tr74; + case 95: goto tr74; + case 117: goto st132; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st132: if ( ++p == pe ) goto _test_eof132; case 132: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 99: goto st133; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto tr211; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st133: if ( ++p == pe ) goto _test_eof133; case 133: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 116: goto st134; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st134; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st134: if ( ++p == pe ) goto _test_eof134; case 134: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 111: goto st135; + case 46: goto tr74; + case 95: goto tr74; + case 99: goto st135; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st135: if ( ++p == pe ) goto _test_eof135; case 135: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto tr213; + case 46: goto tr74; + case 95: goto tr74; + case 116: goto st136; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; -tr213: -#line 1 "NONE" - {te = p+1;} - goto st136; + goto tr74; + goto tr73; st136: if ( ++p == pe ) goto _test_eof136; case 136: -#line 3455 "volumeExprScanner.cc" switch( (*p) ) { - case 46: goto tr73; - case 58: goto st10; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 111: goto st137; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr214; -st10: - if ( ++p == pe ) - goto _test_eof10; -case 10: - if ( (*p) == 58 ) - goto st11; - goto tr12; -st11: - if ( ++p == pe ) - goto _test_eof11; -case 11: - switch( (*p) ) { - case 120: goto tr14; - case 121: goto tr15; - case 122: goto tr16; - } - goto tr12; + goto tr74; + goto tr73; st137: if ( ++p == pe ) goto _test_eof137; case 137: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st138; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto tr216; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; +tr216: +#line 1 "NONE" + {te = p+1;} + goto st138; st138: if ( ++p == pe ) goto _test_eof138; case 138: +#line 3516 "volumeExprScanner.cc" switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 105: goto st139; + case 46: goto tr74; + case 58: goto st11; + case 95: goto tr74; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr217; +st11: + if ( ++p == pe ) + goto _test_eof11; +case 11: + if ( (*p) == 58 ) + goto st12; + goto tr14; +st12: + if ( ++p == pe ) + goto _test_eof12; +case 12: + switch( (*p) ) { + case 120: goto tr16; + case 121: goto tr17; + case 122: goto tr18; + } + goto tr14; st139: if ( ++p == pe ) goto _test_eof139; case 139: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st140; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st140; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st140: if ( ++p == pe ) goto _test_eof140; case 140: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 104: goto st141; + case 46: goto tr74; + case 95: goto tr74; + case 105: goto st141; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st141: if ( ++p == pe ) goto _test_eof141; case 141: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 116: goto st142; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st142; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st142: if ( ++p == pe ) goto _test_eof142; case 142: switch( (*p) ) { - case 46: goto tr73; - case 65: goto st143; - case 83: goto st149; - case 95: goto tr73; + case 46: goto tr74; + case 95: goto tr74; + case 104: goto st143; } - if ( (*p) < 66 ) { + if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st143: if ( ++p == pe ) goto _test_eof143; case 143: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 118: goto st144; + case 46: goto tr74; + case 95: goto tr74; + case 116: goto st144; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st144: if ( ++p == pe ) goto _test_eof144; case 144: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto st145; + case 46: goto tr74; + case 65: goto st145; + case 83: goto st151; + case 95: goto tr74; } - if ( (*p) < 65 ) { + if ( (*p) < 66 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st145: if ( ++p == pe ) goto _test_eof145; case 145: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 114: goto st146; + case 46: goto tr74; + case 95: goto tr74; + case 118: goto st146; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st146: if ( ++p == pe ) goto _test_eof146; case 146: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 97: goto st147; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto st147; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st147: if ( ++p == pe ) goto _test_eof147; case 147: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 103: goto st148; + case 46: goto tr74; + case 95: goto tr74; + case 114: goto st148; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st148: if ( ++p == pe ) goto _test_eof148; case 148: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 101: goto tr228; + case 46: goto tr74; + case 95: goto tr74; + case 97: goto st149; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + if ( 98 <= (*p) && (*p) <= 122 ) + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st149: if ( ++p == pe ) goto _test_eof149; case 149: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 117: goto st150; + case 46: goto tr74; + case 95: goto tr74; + case 103: goto st150; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; + goto tr74; + goto tr73; st150: if ( ++p == pe ) goto _test_eof150; case 150: switch( (*p) ) { - case 46: goto tr73; - case 95: goto tr73; - case 109: goto tr230; + case 46: goto tr74; + case 95: goto tr74; + case 101: goto tr231; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) - goto tr73; + goto tr74; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) - goto tr73; + goto tr74; } else - goto tr73; - goto tr72; -st12: + goto tr74; + goto tr73; +st151: if ( ++p == pe ) - goto _test_eof12; -case 12: + goto _test_eof151; +case 151: + switch( (*p) ) { + case 46: goto tr74; + case 95: goto tr74; + case 117: goto st152; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr74; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; + } else + goto tr74; + goto tr73; +st152: + if ( ++p == pe ) + goto _test_eof152; +case 152: + switch( (*p) ) { + case 46: goto tr74; + case 95: goto tr74; + case 109: goto tr233; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr74; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr74; + } else + goto tr74; + goto tr73; +st13: + if ( ++p == pe ) + goto _test_eof13; +case 13: if ( (*p) == 124 ) - goto tr17; + goto tr19; goto st0; } - _test_eof13: cs = 13; goto _test_eof; _test_eof14: cs = 14; goto _test_eof; _test_eof15: cs = 15; goto _test_eof; + _test_eof16: cs = 16; goto _test_eof; _test_eof1: cs = 1; goto _test_eof; _test_eof2: cs = 2; goto _test_eof; - _test_eof16: cs = 16; goto _test_eof; + _test_eof17: cs = 17; goto _test_eof; _test_eof3: cs = 3; goto _test_eof; _test_eof4: cs = 4; goto _test_eof; - _test_eof17: cs = 17; goto _test_eof; _test_eof18: cs = 18; goto _test_eof; + _test_eof19: cs = 19; goto _test_eof; _test_eof5: cs = 5; goto _test_eof; _test_eof6: cs = 6; goto _test_eof; - _test_eof19: cs = 19; goto _test_eof; _test_eof20: cs = 20; goto _test_eof; _test_eof21: cs = 21; goto _test_eof; _test_eof22: cs = 22; goto _test_eof; - _test_eof7: cs = 7; goto _test_eof; _test_eof23: cs = 23; goto _test_eof; + _test_eof7: cs = 7; goto _test_eof; _test_eof24: cs = 24; goto _test_eof; _test_eof25: cs = 25; goto _test_eof; _test_eof26: cs = 26; goto _test_eof; @@ -3807,6 +3867,7 @@ case 12: _test_eof66: cs = 66; goto _test_eof; _test_eof67: cs = 67; goto _test_eof; _test_eof68: cs = 68; goto _test_eof; + _test_eof8: cs = 8; goto _test_eof; _test_eof69: cs = 69; goto _test_eof; _test_eof70: cs = 70; goto _test_eof; _test_eof71: cs = 71; goto _test_eof; @@ -3865,10 +3926,10 @@ case 12: _test_eof124: cs = 124; goto _test_eof; _test_eof125: cs = 125; goto _test_eof; _test_eof126: cs = 126; goto _test_eof; - _test_eof8: cs = 8; goto _test_eof; - _test_eof9: cs = 9; goto _test_eof; _test_eof127: cs = 127; goto _test_eof; _test_eof128: cs = 128; goto _test_eof; + _test_eof9: cs = 9; goto _test_eof; + _test_eof10: cs = 10; goto _test_eof; _test_eof129: cs = 129; goto _test_eof; _test_eof130: cs = 130; goto _test_eof; _test_eof131: cs = 131; goto _test_eof; @@ -3877,10 +3938,10 @@ case 12: _test_eof134: cs = 134; goto _test_eof; _test_eof135: cs = 135; goto _test_eof; _test_eof136: cs = 136; goto _test_eof; - _test_eof10: cs = 10; goto _test_eof; - _test_eof11: cs = 11; goto _test_eof; _test_eof137: cs = 137; goto _test_eof; _test_eof138: cs = 138; goto _test_eof; + _test_eof11: cs = 11; goto _test_eof; + _test_eof12: cs = 12; goto _test_eof; _test_eof139: cs = 139; goto _test_eof; _test_eof140: cs = 140; goto _test_eof; _test_eof141: cs = 141; goto _test_eof; @@ -3893,162 +3954,166 @@ case 12: _test_eof148: cs = 148; goto _test_eof; _test_eof149: cs = 149; goto _test_eof; _test_eof150: cs = 150; goto _test_eof; - _test_eof12: cs = 12; goto _test_eof; + _test_eof151: cs = 151; goto _test_eof; + _test_eof152: cs = 152; goto _test_eof; + _test_eof13: cs = 13; goto _test_eof; _test_eof: {} if ( p == eof ) { switch ( cs ) { - case 14: goto tr57; case 15: goto tr58; - case 16: goto tr60; - case 17: goto tr62; - case 18: goto tr65; + case 16: goto tr59; + case 17: goto tr61; + case 18: goto tr63; + case 19: goto tr66; case 5: goto tr5; case 6: goto tr5; - case 19: goto tr65; - case 20: goto tr67; - case 21: goto tr65; - case 22: goto tr68; - case 23: goto tr70; - case 24: goto tr72; - case 25: goto tr74; - case 26: goto tr72; - case 27: goto tr72; - case 28: goto tr72; - case 29: goto tr72; - case 30: goto tr72; - case 31: goto tr72; - case 32: goto tr72; - case 33: goto tr72; - case 34: goto tr72; - case 35: goto tr72; - case 36: goto tr72; - case 37: goto tr90; - case 38: goto tr72; - case 39: goto tr72; - case 40: goto tr72; - case 41: goto tr72; - case 42: goto tr72; - case 43: goto tr72; - case 44: goto tr72; - case 45: goto tr72; - case 46: goto tr72; - case 47: goto tr72; - case 48: goto tr72; - case 49: goto tr72; - case 50: goto tr105; - case 51: goto tr72; - case 52: goto tr72; - case 53: goto tr72; - case 54: goto tr72; - case 55: goto tr72; - case 56: goto tr72; - case 57: goto tr72; - case 58: goto tr72; - case 59: goto tr72; - case 60: goto tr72; - case 61: goto tr72; - case 62: goto tr72; - case 63: goto tr72; - case 64: goto tr72; - case 65: goto tr72; - case 66: goto tr72; - case 67: goto tr72; - case 68: goto tr72; - case 69: goto tr126; - case 70: goto tr72; - case 71: goto tr72; - case 72: goto tr72; - case 73: goto tr133; - case 74: goto tr72; - case 75: goto tr72; - case 76: goto tr72; - case 77: goto tr72; - case 78: goto tr72; - case 79: goto tr140; - case 80: goto tr72; - case 81: goto tr72; - case 82: goto tr146; - case 83: goto tr72; - case 84: goto tr72; - case 85: goto tr72; - case 86: goto tr72; - case 87: goto tr72; - case 88: goto tr72; - case 89: goto tr72; - case 90: goto tr72; - case 91: goto tr72; - case 92: goto tr72; - case 93: goto tr72; - case 94: goto tr165; - case 95: goto tr72; - case 96: goto tr72; - case 97: goto tr72; - case 98: goto tr72; - case 99: goto tr72; - case 100: goto tr72; - case 101: goto tr72; - case 102: goto tr72; - case 103: goto tr72; - case 104: goto tr72; - case 105: goto tr72; - case 106: goto tr72; - case 107: goto tr72; - case 108: goto tr72; - case 109: goto tr181; - case 110: goto tr72; - case 111: goto tr72; - case 112: goto tr72; - case 113: goto tr72; - case 114: goto tr72; - case 115: goto tr72; - case 116: goto tr72; - case 117: goto tr72; - case 118: goto tr72; - case 119: goto tr72; - case 120: goto tr72; - case 121: goto tr197; - case 122: goto tr72; - case 123: goto tr72; - case 124: goto tr72; - case 125: goto tr72; - case 126: goto tr203; + case 20: goto tr66; + case 21: goto tr68; + case 22: goto tr66; + case 23: goto tr69; + case 24: goto tr71; + case 25: goto tr73; + case 26: goto tr75; + case 27: goto tr73; + case 28: goto tr73; + case 29: goto tr73; + case 30: goto tr73; + case 31: goto tr73; + case 32: goto tr73; + case 33: goto tr73; + case 34: goto tr73; + case 35: goto tr73; + case 36: goto tr73; + case 37: goto tr73; + case 38: goto tr91; + case 39: goto tr73; + case 40: goto tr73; + case 41: goto tr73; + case 42: goto tr73; + case 43: goto tr73; + case 44: goto tr73; + case 45: goto tr73; + case 46: goto tr73; + case 47: goto tr73; + case 48: goto tr73; + case 49: goto tr73; + case 50: goto tr73; + case 51: goto tr106; + case 52: goto tr73; + case 53: goto tr73; + case 54: goto tr73; + case 55: goto tr73; + case 56: goto tr73; + case 57: goto tr73; + case 58: goto tr73; + case 59: goto tr73; + case 60: goto tr73; + case 61: goto tr73; + case 62: goto tr73; + case 63: goto tr73; + case 64: goto tr73; + case 65: goto tr73; + case 66: goto tr73; + case 67: goto tr73; + case 68: goto tr73; case 8: goto tr9; - case 9: goto tr9; - case 127: goto tr72; - case 128: goto tr72; - case 129: goto tr72; - case 130: goto tr72; - case 131: goto tr72; - case 132: goto tr72; - case 133: goto tr72; - case 134: goto tr72; - case 135: goto tr72; - case 136: goto tr214; - case 10: goto tr12; - case 11: goto tr12; - case 137: goto tr72; - case 138: goto tr72; - case 139: goto tr72; - case 140: goto tr72; - case 141: goto tr72; - case 142: goto tr72; - case 143: goto tr72; - case 144: goto tr72; - case 145: goto tr72; - case 146: goto tr72; - case 147: goto tr72; - case 148: goto tr72; - case 149: goto tr72; - case 150: goto tr72; + case 69: goto tr73; + case 70: goto tr73; + case 71: goto tr129; + case 72: goto tr73; + case 73: goto tr73; + case 74: goto tr73; + case 75: goto tr136; + case 76: goto tr73; + case 77: goto tr73; + case 78: goto tr73; + case 79: goto tr73; + case 80: goto tr73; + case 81: goto tr143; + case 82: goto tr73; + case 83: goto tr73; + case 84: goto tr149; + case 85: goto tr73; + case 86: goto tr73; + case 87: goto tr73; + case 88: goto tr73; + case 89: goto tr73; + case 90: goto tr73; + case 91: goto tr73; + case 92: goto tr73; + case 93: goto tr73; + case 94: goto tr73; + case 95: goto tr73; + case 96: goto tr168; + case 97: goto tr73; + case 98: goto tr73; + case 99: goto tr73; + case 100: goto tr73; + case 101: goto tr73; + case 102: goto tr73; + case 103: goto tr73; + case 104: goto tr73; + case 105: goto tr73; + case 106: goto tr73; + case 107: goto tr73; + case 108: goto tr73; + case 109: goto tr73; + case 110: goto tr73; + case 111: goto tr184; + case 112: goto tr73; + case 113: goto tr73; + case 114: goto tr73; + case 115: goto tr73; + case 116: goto tr73; + case 117: goto tr73; + case 118: goto tr73; + case 119: goto tr73; + case 120: goto tr73; + case 121: goto tr73; + case 122: goto tr73; + case 123: goto tr200; + case 124: goto tr73; + case 125: goto tr73; + case 126: goto tr73; + case 127: goto tr73; + case 128: goto tr206; + case 9: goto tr11; + case 10: goto tr11; + case 129: goto tr73; + case 130: goto tr73; + case 131: goto tr73; + case 132: goto tr73; + case 133: goto tr73; + case 134: goto tr73; + case 135: goto tr73; + case 136: goto tr73; + case 137: goto tr73; + case 138: goto tr217; + case 11: goto tr14; + case 12: goto tr14; + case 139: goto tr73; + case 140: goto tr73; + case 141: goto tr73; + case 142: goto tr73; + case 143: goto tr73; + case 144: goto tr73; + case 145: goto tr73; + case 146: goto tr73; + case 147: goto tr73; + case 148: goto tr73; + case 149: goto tr73; + case 150: goto tr73; + case 151: goto tr73; + case 152: goto tr73; } } _out: {} } -#line 722 "volumeExprScanner.rl" +#line 742 "volumeExprScanner.rl" /* ^^^ FSM execution here ^^^ */; if (0 == cs) diff --git a/src/finiteVolume/expressions/volume/volumeExprScanner.rl b/src/finiteVolume/expressions/volume/volumeExprScanner.rl index 03b4e93c7b5161bf53f89b02d98333dd4ac1d247..60cf6bb32747285ba76077dc2630df7e715afa2d 100644 --- a/src/finiteVolume/expressions/volume/volumeExprScanner.rl +++ b/src/finiteVolume/expressions/volume/volumeExprScanner.rl @@ -371,12 +371,16 @@ static int driverTokenType decimal = ((digit* '.' digit+) | (digit+ '.'?)) ; number = ((digit+ | decimal) ([Ee][\-+]? digit+)?) ; - ident = ((alpha|'_') . ((alnum|[._])**)) ; + identifier = ((alpha|'_') . ((alnum|[._])**)) ; dquoted = '"' [^\"]+ '"' ; squoted = "'" [^\']+ "'" ; + ## Allow 'fn:' prefix for function identifier + ident = ('fn:')? identifier ; + ## =========== ## The scanner + ## =========== main := |* space*; @@ -585,6 +589,22 @@ bool Foam::expressions::volumeExpr::scanner::dispatch_ident do { + #undef doLocalCode + #define doLocalCode(TokType, Type) \ + if (driver_.isFunction<Type>(funcName)) \ + { \ + ident = std::move(funcName); \ + tokType = TokType; \ + break; \ + } + + #ifdef TOK_SCALAR_FUNCTION_ID + doLocalCode(TOK_SCALAR_FUNCTION_ID, scalar); + #endif + #ifdef TOK_VECTOR_FUNCTION_ID + doLocalCode(TOK_VECTOR_FUNCTION_ID, vector); + #endif + #undef doLocalCode } while (false); }