@@ -40,6 +40,7 @@ def __init__(self, memory: ContextualMemory):
4040 self .stored_tokens : list [_ProgToken ] = [
4141 _ProgToken ("0" , ProgrammersCalculator .TOKEN_TYPE_OPERAND , Pebbles .NumberSystem .DECIMAL )
4242 ]
43+ self .input_exp = ''
4344
4445
4546 def get_last_token (self ):
@@ -67,6 +68,7 @@ def set_last_token(self, arr:list[bool], wrd_length:Pebbles.GlobalWordLength, nu
6768
6869 def populate_token_array (self , exp : str , number_system :Pebbles .NumberSystem ):
6970 _stored_tokens = Tokenizer .get_token_array (exp , number_system )
71+ self .input_exp = exp
7072 self .stored_tokens = [_ProgToken (x ['token' ], x ['type' ], x ['numberSystem' ]) for x in _stored_tokens ]
7173
7274
@@ -78,6 +80,7 @@ def set_number_system(self,
7880 ) -> str :
7981 # Tokenize the current expression regardless of the stored tokens.
8082 token_structure = Tokenizer .get_token_array (exp , number_system )
83+ self .input_exp = exp
8184
8285 # For every token in stored_tokens, if it is an operand and its current number system
8386 # is different from the required number system, perform conversion.
@@ -598,11 +601,10 @@ def evaluate(self, number_system: Pebbles.NumberSystem, wrd_length: Pebbles.Glob
598601
599602 if gen_hist :
600603 token_list = [token .token for token in self .stored_tokens ]
601- expression = " " .join (token_list )
602604 self .memory .push_history (
603605 self .MODE ,
604- expression ,
605- formatted_answer ,
606+ self . input_exp ,
607+ Utils . remove_leading_zeroes ( formatted_answer ) ,
606608 {
607609 'metadata_1' : number_system ,
608610 'metadata_2' : wrd_length
0 commit comments