# | Line 35 | Line 35 | |
---|---|---|
35 | * | |
36 | * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). | |
37 | * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). | |
38 | < | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
39 | < | * [4] Vardeman & Gezelter, in progress (2009). |
38 | > | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
39 | > | * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 | > | * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 | */ | |
42 | ||
43 | #include "selection/SelectionCompiler.hpp" | |
# | Line 55 | Line 56 | namespace OpenMD { | |
56 | if (internalCompile()) { | |
57 | return true; | |
58 | } | |
59 | < | |
59 | > | |
60 | int icharEnd; | |
61 | if ((icharEnd = script.find('\r', ichCurrentCommand)) == std::string::npos && | |
62 | (icharEnd = script.find('\n', ichCurrentCommand)) == std::string::npos) { | |
# | Line 118 | Line 119 | namespace OpenMD { | |
119 | // ltoken.push_back(Token(Token::string, str)); | |
120 | // continue; | |
121 | //} | |
122 | < | if (lookingAtDecimal((tokCommand & Token::negnums) != 0)) { |
122 | > | //if (lookingAtDecimal((tokCommand & Token::negnums) != 0)) { |
123 | > | if (lookingAtDecimal((tokCommand) != 0)) { |
124 | float value = lexi_cast<float>(script.substr(ichToken, cchToken)); | |
125 | ltoken.push_back(Token(Token::decimal, boost::any(value))); | |
126 | continue; | |
127 | } | |
128 | < | if (lookingAtInteger((tokCommand & Token::negnums) != 0)) { |
128 | > | //if (lookingAtInteger((tokCommand & Token::negnums) != 0)) { |
129 | > | if (lookingAtInteger((tokCommand) != 0)) { |
130 | ||
131 | int val = lexi_cast<int>(script.substr(ichToken, cchToken)); | |
132 | ltoken.push_back(Token(Token::integer, boost::any(val))); | |
# | Line 176 | Line 179 | namespace OpenMD { | |
179 | continue; | |
180 | } | |
181 | ||
182 | < | if (ltoken.size() == 0) { |
182 | > | if (ltoken.empty()) { |
183 | return commandExpected(); | |
184 | } | |
185 | ||
# | Line 371 | Line 374 | namespace OpenMD { | |
374 | return false; | |
375 | } | |
376 | cchToken = ichT - ichToken; | |
377 | < | return true; |
377 | > | return isInteger(script.substr(ichToken, ichT).c_str()); |
378 | } | |
379 | ||
380 | bool SelectionCompiler::lookingAtLookupToken() { | |
# | Line 440 | Line 443 | namespace OpenMD { | |
443 | ||
444 | bool SelectionCompiler::compileExpression() { | |
445 | /** todo */ | |
446 | < | int i = 1; |
446 | > | unsigned int i = 1; |
447 | int tokCommand = atokenCommand[0].tok; | |
448 | if (tokCommand == Token::define) { | |
449 | i = 2; | |
# | Line 665 | Line 668 | namespace OpenMD { | |
668 | bool SelectionCompiler::isNameValid(const std::string& name) { | |
669 | int nbracket = 0; | |
670 | int ndot = 0; | |
671 | < | for (int i =0 ; i < name.size(); ++i) { |
671 | > | for (unsigned int i = 0 ; i < name.size(); ++i) { |
672 | switch(name[i]) { | |
673 | ||
674 | case '[' : | |
# | Line 689 | Line 692 | namespace OpenMD { | |
692 | if (token.tok == Token::integer) { | |
693 | int index = boost::any_cast<int>(token.value); | |
694 | int tok = tokPeek(); | |
692 | – | std::cout << "Token::to is " << Token::to << ", tok = " << tok << std::endl; |
695 | if (tok == Token::to) { | |
696 | tokenNext(); | |
697 | tok = tokPeek(); |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |