Skip to content
This repository has been archived by the owner on Jul 9, 2022. It is now read-only.

Commit

Permalink
Add the lexer to the interface
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidMacDonald11 committed Jan 22, 2022
1 parent 6a39eb8 commit aabd867
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions modules/interfaces/general.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
from lexing.lexer import Lexer
from lexing.errors import LexerError
from errors.errors import SeaError

def interface(streams, debug, mode):
try:
data = ""
symbol = streams.in_stream.read_symbol()
lexer = None

while symbol != "":
data += symbol
symbol = streams.in_stream.read_symbol()
LexerError.lexer = lexer = Lexer(streams.in_stream)
lexer.make_tokens()

streams.out_stream.write(data)
streams.out_stream.write("Done.\n")
except SeaError as error:
streams.error_stream.write(error)
finally:
print_debug_info(debug, streams.debug_stream)
print_debug_info(debug, streams.debug_stream, lexer)

def print_debug_info(debug, debug_stream):
def print_debug_info(debug, debug_stream, lexer):
if not debug:
return

debug_stream.write("\nDebug is enabled.\n")
debug_stream.write(f"\nTokens:\n\t{None if lexer is None else lexer.tokens}\n")

0 comments on commit aabd867

Please sign in to comment.