Removed redundant expression type

This commit is contained in:
Kyler 2024-06-19 00:27:22 -06:00
parent dbd1e646e6
commit 3d07510cf7
2 changed files with 24 additions and 55 deletions

View File

@ -524,27 +524,6 @@ class LiteralExpression(Expression):
return s return s
class EnclosedExpression(Expression):
_file_info: FileInfo
_expression: Expression
def __init__(
self,
file_info: FileInfo,
expression: Expression,
):
self._file_info = file_info
self._expression = expression
def has_pi(self) -> bool: return self._expression.has_pi()
def tree_str(self, pre: str = "", pre_cont: str = "") -> str:
s: str = f"{pre} Enclosed Expression\n"
s += self._expression.tree_str(f"{pre_cont}└─", f"{pre_cont} ")
return s
class UnaryOperator(Enum): class UnaryOperator(Enum):
Negate = "-" Negate = "-"
Factorial = "!" Factorial = "!"
@ -1603,8 +1582,7 @@ def _expression_sa(tokens: list[Token]) -> Expression:
"Expected expression between '(' and ')'.", fi) "Expected expression between '(' and ')'.", fi)
token = tokens.pop(0) token = tokens.pop(0)
last_token = tokens.pop(-1) last_token = tokens.pop(-1)
fi = token.file_info + last_token.file_info try: return _expression_sa(tokens)
try: return EnclosedExpression(fi,_expression_sa(tokens))
except ExpressionError as err: except ExpressionError as err:
raise ExpectedExpression(str(err),last_token) raise ExpectedExpression(str(err),last_token)

View File

@ -34,44 +34,38 @@ File
├─ X ├─ X
│ └─ Binary Expression (BinaryOperator.Addition) │ └─ Binary Expression (BinaryOperator.Addition)
│ ├─ Binary Expression (BinaryOperator.Multiplication) │ ├─ Binary Expression (BinaryOperator.Multiplication)
│ │ ├─ Enclosed Expression │ │ ├─ Binary Expression (BinaryOperator.Subtraction)
│ │ │ └─ Binary Expression (BinaryOperator.Subtraction) │ │ │ ├─ Literal Expression (R)
│ │ │ ├─ Literal Expression (R) │ │ │ └─ Literal Expression (r)
│ │ │ └─ Literal Expression (r)
│ │ └─ Function Call (cos) │ │ └─ Function Call (cos)
│ │ └─ Literal Expression (t) │ │ └─ Literal Expression (t)
│ └─ Binary Expression (BinaryOperator.Multiplication) │ └─ Binary Expression (BinaryOperator.Multiplication)
│ ├─ Literal Expression (d) │ ├─ Literal Expression (d)
│ └─ Function Call (cos) │ └─ Function Call (cos)
│ └─ Binary Expression (BinaryOperator.Multiplication) │ └─ Binary Expression (BinaryOperator.Multiplication)
│ ├─ Enclosed Expression │ ├─ Binary Expression (BinaryOperator.Division)
│ │ └─ Binary Expression (BinaryOperator.Division) │ │ ├─ Binary Expression (BinaryOperator.Subtraction)
│ │ ├─ Enclosed Expression │ │ │ ├─ Literal Expression (R)
│ │ │ └─ Binary Expression (BinaryOperator.Subtraction) │ │ │ └─ Literal Expression (r)
│ │ │ ├─ Literal Expression (R) │ │ └─ Literal Expression (r)
│ │ │ └─ Literal Expression (r)
│ │ └─ Literal Expression (r)
│ └─ Literal Expression (t) │ └─ Literal Expression (t)
├─ Y ├─ Y
│ └─ Binary Expression (BinaryOperator.Subtraction) │ └─ Binary Expression (BinaryOperator.Subtraction)
│ ├─ Binary Expression (BinaryOperator.Multiplication) │ ├─ Binary Expression (BinaryOperator.Multiplication)
│ │ ├─ Enclosed Expression │ │ ├─ Binary Expression (BinaryOperator.Subtraction)
│ │ │ └─ Binary Expression (BinaryOperator.Subtraction) │ │ │ ├─ Literal Expression (R)
│ │ │ ├─ Literal Expression (R) │ │ │ └─ Literal Expression (r)
│ │ │ └─ Literal Expression (r)
│ │ └─ Function Call (sin) │ │ └─ Function Call (sin)
│ │ └─ Literal Expression (t) │ │ └─ Literal Expression (t)
│ └─ Binary Expression (BinaryOperator.Multiplication) │ └─ Binary Expression (BinaryOperator.Multiplication)
│ ├─ Literal Expression (d) │ ├─ Literal Expression (d)
│ └─ Function Call (sin) │ └─ Function Call (sin)
│ └─ Binary Expression (BinaryOperator.Multiplication) │ └─ Binary Expression (BinaryOperator.Multiplication)
│ ├─ Enclosed Expression │ ├─ Binary Expression (BinaryOperator.Division)
│ │ └─ Binary Expression (BinaryOperator.Division) │ │ ├─ Binary Expression (BinaryOperator.Subtraction)
│ │ ├─ Enclosed Expression │ │ │ ├─ Literal Expression (R)
│ │ │ └─ Binary Expression (BinaryOperator.Subtraction) │ │ │ └─ Literal Expression (r)
│ │ │ ├─ Literal Expression (R) │ │ └─ Literal Expression (r)
│ │ │ └─ Literal Expression (r)
│ │ └─ Literal Expression (r)
│ └─ Literal Expression (t) │ └─ Literal Expression (t)
├─ T ├─ T
│ └─ Inline Animation │ └─ Inline Animation
@ -89,13 +83,10 @@ File
│ │ └─ Literal Expression (32) │ │ └─ Literal Expression (32)
│ └─ Direction: AnimationDirection.Increase │ └─ Direction: AnimationDirection.Increase
└─ C_w └─ C_w
└─ Enclosed Expression └─ Binary Expression (BinaryOperator.Division)
└─ Binary Expression (BinaryOperator.Division) ├─ Binary Expression (BinaryOperator.Subtraction)
├─ Enclosed Expression │ ├─ Literal Expression (t)
│ └─ Binary Expression (BinaryOperator.Subtraction) │ └─ Literal Expression (s)
│ ├─ Literal Expression (t) └─ Binary Expression (BinaryOperator.Subtraction)
│ └─ Literal Expression (s) ├─ Literal Expression (e)
└─ Enclosed Expression └─ Literal Expression (s)
└─ Binary Expression (BinaryOperator.Subtraction)
├─ Literal Expression (e)
└─ Literal Expression (s)