Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

What would scheme display? tokens = tokenize_lines([\"(+ 1 \", \"(23 4)) (\"]) >

ID: 3919469 • Letter: W

Question

What would scheme display?

tokens = tokenize_lines(["(+ 1 ", "(23 4)) ("])
>>> src = Buffer(tokens)
>>> src.current()

>>> src.remove_front()
  
# locked
>>> src.current()
# locked
>>> src.remove_front()
# locked
>>> src.remove_front()
# locked
>>> scheme_read(src) # Returns and removes the next complete expression in src
# locked
>>> src.current()
# locked

>>> scheme_read(Buffer(tokenize_lines(['(18 6)'])))
# locked
>>> read_line('(18 6)') # Shorter version of above!
# locked

>>> read_tail(Buffer(tokenize_lines([')'])))
c24ff8c9a7d7a50f82648d25a4d8fbb1
# locked
>>> read_tail(Buffer(tokenize_lines(['1 2 3)'])))
# locked
>>> read_tail(Buffer(tokenize_lines(['2 (3 4))'])))
# locked
Need answer for the locked part

Explanation / Answer

tokens = tokenize_lines(["(+ 1 ", "(23 4)) ("])
>>> src = Buffer(tokens)

# The above line of code will be generate the scheme string as (+ 1 (23 4))
# When you typing the src.current() it will return the first character in string

# so in this case it will be (
>>> src.current()
(
>>> src.remove_front()
# src.remove_front() will remove the first character in scheme
(
>>> src.current()

+

>>> src.remove_front()

+

>>> src.remove_front()

1

>>> scheme_read(src) # Returns and removes the next complete expression in src

(23 4)

>>> src.current()
(


>>> scheme_read(Buffer(tokenize_lines(['(18 6)'])))
(18 6)
>>> read_line('(18 6)') # Shorter version of above!
(18 6)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote