parser: use TrueDivision instead of the broken Division

This commit is contained in:
Antoine Viallon 2024-04-12 16:40:31 +02:00
parent 8f26b393d1
commit b27faf974f
Signed by: aviallon
GPG key ID: 186FC35EDEB25716

View file

@ -6,8 +6,8 @@ from typing import Callable
from .errors import CompilationError, UnexpectedTokenError from .errors import CompilationError, UnexpectedTokenError
from .lexer import Tokens, Token from .lexer import Tokens, Token
from .logger import Logger, Tracer, LogLevel from .logger import Logger, Tracer, LogLevel
from .nodes import Float, Sum, Value, Product, Node, Division, Sub, Integer, Expression, Identifier, Assignment, \ from .nodes import Float, Sum, Value, Product, Node, Sub, Integer, Expression, Identifier, Assignment, \
Variable, Statement, PseudoNode, Block, Definition, Call Variable, Statement, PseudoNode, Block, Definition, Call, TrueDivision
logger = Logger(__name__) logger = Logger(__name__)
tracer = Tracer(logger, level=LogLevel.Debug) tracer = Tracer(logger, level=LogLevel.Debug)
@ -146,7 +146,7 @@ class Parser:
def term(self, mandatory: bool = False) -> Value: def term(self, mandatory: bool = False) -> Value:
return self.binary_op(self.factor, operators={ return self.binary_op(self.factor, operators={
Tokens.Op_Multiply: Product, Tokens.Op_Multiply: Product,
Tokens.Op_Divide: Division, Tokens.Op_Divide: TrueDivision,
}, mandatory=mandatory) }, mandatory=mandatory)
@tracer.trace_method @tracer.trace_method