Home | History | Annotate | Download | only in scripts

Lines Matching refs:pos

163 def StartsWith(lines, pos, string):
166 return lines[pos.line][pos.column:].startswith(string)
243 def ParseToken(lines, pos, regex, token_type):
244 line = lines[pos.line][pos.column:]
247 return MakeToken(lines, pos, pos + m.end(), token_type)
249 print 'ERROR: %s expected at %s.' % (token_type, pos)
261 def Skip(lines, pos, regex):
262 line = lines[pos.line][pos.column:]
265 return pos + m.end()
267 return pos
270 def SkipUntil(lines, pos, regex, token_type):
271 line = lines[pos.line][pos.column:]
274 return pos + m.start()
277 (token_type, pos.line + 1, pos.column))
281 def ParseExpTokenInParens(lines, pos):
282 def ParseInParens(pos):
283 pos = Skip(lines, pos, OPTIONAL_WHITE_SPACES_REGEX)
284 pos = Skip(lines, pos, r'\(')
285 pos = Parse(pos)
286 pos = Skip(lines, pos, r'\)')
287 return pos
289 def Parse(pos):
290 pos = SkipUntil(lines, pos, r'\(|\)', ')')
291 if SubString(lines, pos, pos + 1) == '(':
292 pos = Parse(pos + 1)
293 pos = Skip(lines, pos, r'\)')
294 return Parse(pos)
296 return pos
298 start = pos.Clone()
299 pos = ParseInParens(pos)
300 return MakeToken(lines, start, pos, 'exp')
310 def TokenizeLines(lines, pos):
312 found = FindFirst(lines, TOKEN_TABLE, pos)
314 yield MakeToken(lines, pos, Eof(), 'code')
317 if found.start == pos:
321 prev_token = MakeToken(lines, pos, found.start, 'code')
330 pos = Skip(lines, id_token.end, OPTIONAL_WHITE_SPACES_REGEX)
332 eq_token = ParseToken(lines, pos, EQ_REGEX, '=')
334 pos = Skip(lines, eq_token.end, r'\s*')
336 if SubString(lines, pos, pos + 2) != '[[':
337 exp_token = ParseToken(lines, pos, REST_OF_LINE_REGEX, 'exp')
339 pos = Cursor(exp_token.end.line + 1, 0)
346 pos = Skip(lines, id_token.end, WHITE_SPACE_REGEX)
353 pos = Skip(lines, id_token.end, OPTIONAL_WHITE_SPACES_REGEX)
355 dots_pos = SkipUntil(lines, pos, DOT_DOT_REGEX, '..')
356 yield MakeToken(lines, pos, dots_pos, 'exp')
358 pos = dots_pos + 2
359 new_pos = Cursor(pos.line + 1, 0)
360 yield MakeToken(lines, pos, new_pos, 'exp')
361 pos = new_pos
368 pos = exp_token.end
374 pos = found.end
379 pos = found.end