def select_limit(self, source_expression):
start = self.tokens.matched.start<EOL>limit_count_expression = self.expression()<EOL>if self.tokens.accept(grammar.select_offset):<EOL><INDENT>offset_start = self.tokens.matched.start<EOL>offset_end = self.tokens.matched.end<EOL>offset_count_expression = self.expression()<EOL>offset_source_expression = ast.Apply(<EOL>ast.Var("<STR_LIT>", start=offset_start, end=offset_end,<EOL>source=self.original),<EOL>offset_count_expression,<EOL>source_expression,<EOL>start=offset_start, end=offset_count_expression.end,<EOL>source=self.original)<EOL>source_expression = offset_source_expression<EOL><DEDENT>limit_expression = ast.Apply(<EOL>ast.Var("<STR_LIT>", start=start, end=limit_count_expression.end,<EOL>source=self.original),<EOL>limit_count_expression,<EOL>source_expression,<EOL>start=start, end=self.tokens.matched.end, source=self.original)<EOL>return limit_expression<EOL>
Match LIMIT take [OFFSET drop].