معرفی شرکت ها


animated-parse-tree-0.0.9


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

A simple parse tree utility package, with animated evaluations and configurable tree displays
ویژگی مقدار
سیستم عامل -
نام فایل animated-parse-tree-0.0.9
نام animated-parse-tree
نسخه کتابخانه 0.0.9
نگهدارنده []
ایمیل نگهدارنده []
نویسنده ethanolx
ایمیل نویسنده imotekhx@gmail.com
آدرس صفحه اصلی https://github.com/ethanolx/Animated-Parse-Tree-py
آدرس اینترنتی https://pypi.org/project/animated-parse-tree/
مجوز -
# Animated Parse Tree | | | |---------------|-------------------| | Author | Ethan Tan | | Date | 11/12/2021 | | Language | Python (py) | ## Description This package is meant to provide a high-level API for programmers to visualise parse trees. The eventual goal is to animate the tokenization (extracting symbols from a string), lexing (formatting the tokens), parsing (building the parse tree) and evaluation (reducing the parse tree). ## Setup It is extremely easy to integrate this package in your existing projects. In the command line, run: ```console pip install animated_parse_tree ``` ## Sample Usage ### From Command Line Then in your terminal/shell, enter: ```console python -m animated_parse_tree ``` The output should look similar to the following: ```console Greetings... "This is a utility program which aims to show the beauty of parse trees in a fun and engaging way" Don't be intimidated :) It was designed to be easy to use, yet extensible. Enjoy! ?> ``` Enter 'help' to display the help menu or 'mode' to change your current mode ### From Source Files Then in your Python source file / Jupyter Notebook, insert: ```python from animated_parse_tree import ParseTree # Instantiate Parse Tree Object t = ParseTree() # Read a Mathematical String Expression (separated by singular whitespace characters) t.read('1 + 2 * 3') # Retrieve the Result print('<<< Equation >>>') print(t.expression, '=', t.evaluate(), end='\n\n') # Display the Parse Tree print('<<< Parse Tree >>>') print(str(t)) ``` The output in the terminal will look something like this: ```console <<< Equation >>> 1 + 2 * 3 = 7 <<< Parse Tree >>> + / \ 1 * / \ 2 3 ``` ## Declaring Custom Operands/Operators A `Bundle` is simply a list of Operands and/or Operators. To extend functionality, one simply has to register their own custom operands/operators like so: ```python # Instantiate Parse Tree Object t = ParseTree() # Declare Custom Operand/Operator(s) op = Operator(symbol='sum', func=lambda *args: sum(args), priority=Priority.PRE, kind='pre', operands=4) # Register the Custom Operand/Operator(s) t.register(bundle=[op]) # Use it in Expressions t.read('sum(0.1, 2.5, 30, 49)') # Animate all the Processes t.animate(seconds_per_frame=1.0) # Display the Parse Tree print(str(t)) # Evaluate the Expression print(t.evaluate()) ``` ## Current Support * Operands * Integers (-1, 0, 2345) * Floats (0.0, 2.5, -0.77) * Constants (pi, e) * Operators * Unary * Pre-fix (lg, -) * Post-fix (deg, !) * Binary * Pre-fix (log) * In-fix (+, -, *, /, ^) * Multi * Pre-fix (if) * Parentheses * Unlimited nesting ### Other Features Supported * Implicit Operator (default is higher-priority multiplication) * Operator Overloading (maximum of 2: 1 pre-fix and 1 non-pre-fix) * Custom Word Operands/Operators (operands/operators whose symbols are lowercase alphabetical characters) * Custom Symbol Operands/Operators (operands/operators whose symbols are special characters) ## See Also - [GitHub Source Code](https://github.com/ethanolx/Animated-Parse-Tree-py) - [Full Documentation](https://github.com/ethanolx/Animated-Parse-Tree-py/wiki) - [Python Package (PyPI)](https://pypi.org/project/animated-parse-tree)


نیازمندی

مقدار نام
- termcolor
- pytest


زبان مورد نیاز

مقدار نام
>=3.8 Python


نحوه نصب


نصب پکیج whl animated-parse-tree-0.0.9:

    pip install animated-parse-tree-0.0.9.whl


نصب پکیج tar.gz animated-parse-tree-0.0.9:

    pip install animated-parse-tree-0.0.9.tar.gz