My ultimate goal is to store the substring in the constant pool. If I just 
store the start/end positions, am I able to get the "current" source text 
when the constant pool is being filled in the bytecode gen?
On Monday, 5 October 2020 at 02:38:04 UTC-5 [email protected] wrote:

> We don't have an API like that in the scanner/parser, for two reasons:
>
> a) Chunking -- data comes to the scanner in chunks (e.g. for streaming), 
> and we do very little rewinding when parsing, so we want to be able to 
> discard chunks once they're no longer needed.
> b) Escaping -- you can have unicode escapes in strings and even in 
> identifiers, and those should be treated as the equivalent unicode 
> character.
>
> So, for things like strings and identifiers, we actually copy the source 
> data into a local buffer while scanning, to be able to turn them into heap 
> strings after. It looks like you want to have a substring representation of 
> the source instead? Would it make sense for you to store the start and end 
> positions, and use those to get a substring of the script's source string?
>
> On Sun, Oct 4, 2020 at 6:53 PM Gus Caplan <[email protected]> wrote:
>
>>
>> Hey folks, I'm trying to figure out how to capture a range of source text 
>> in the parser. Ideally the container of the source text is something that 
>> can easily be turned into a heap string.
>>
>> int start = peek_position();
>> ParseAssignmentExpression();
>> int end = end_position();
>> auto source = somehow_get_source_text(start, end);
>>
>> Any advice is appreciated.
>>
>> -- 
>> -- 
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "v8-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/v8-dev/f6e9e16a-0335-4005-912c-069009492a0an%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/v8-dev/f6e9e16a-0335-4005-912c-069009492a0an%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/05828843-c480-4ae8-b7d7-9948f3a73f4bn%40googlegroups.com.

Reply via email to