Return Type | Function name | Arguments |
---|---|---|
hzEcode | TokenizeWords | (hzVect<hzToken>&,hzChain&,) |
Declared and defined in file: hzTokens.cpp
Function Logic:
Function body:
hzEcode TokenizeWords (hzVect<hzToken>& toks, hzChain& C) { _hzfunc("TokenizeWords") ; chIter ci ; hzChain word ; hzToken T ; hzString S ; uint32_t nLine ; toks.Clear() ; if (!C.Size()) return E_NODATA ; for (ci = C ; !ci.eof() ;) { if (*ci <&eq; CHAR_SPACE) { ci++ ; continue ; } if (*ci == CHAR_DQUOTE) { S.Clear() ; word.Clear() ; nLine = ci.Line() ; for (ci++ ; !ci.eof() ; ci++) { if (*ci == CHAR_DQUOTE) { ci++ ; break ; } word.AddByte(*ci) ; } if (word.Size()) { S = word ; T.Init(S, nLine, TOKEN_ALPHANUM) ; toks.Add(T) ; } continue ; } if (ci == "/*") { for (ci += 2; !ci.eof() ; ci++) { if (ci == "*/") { ci += 2; break ; } } continue ; } if (IsAlphanum(*ci)) { S.Clear() ; word.Clear() ; nLine = ci.Line() ; word.AddByte(*ci) ; for (ci++ ; !ci.eof() && IsAlphanum(*ci) ; ci++) word.AddByte(*ci) ; if (word.Size()) { S = word ; T.Init(S, nLine, TOKEN_ALPHANUM) ; toks.Add(T) ; } continue ; } ci++ ; } return E_OK ; }