Пример #1
0
from function_parser.FunctionParser import *

ex = 'sin(0.2.*x)'

parser = FunctionParser(ex)

f = parser.getFunction()

print(f(2))



Пример #2
0
                                     None)
        while object_builder.stop_build(ar_node) is False:
            top_trio = object_builder.search_top(ar_node)
            print(top_trio)
            lec = top_trio.lec
            top_index = self.infl_point(lec)
            if isinstance(lec[top_index], object_types.Function) or isinstance(
                    top_element, object_types.UnaryMinus):
                left_lec = None
                right_lec = lec[1:]
            else:
                left_lec = lec[0:top_index]
                right_lec = lec[top_index + 1:]

            duo = self.build_ar_node(None, left_lec, right_lec, None, top_trio)
            ar_node = ar_node + duo
        for node in ar_node:
            if node:
                if node.parent is None:
                    result = node.calc()
                    print(f'result{result}')
        return result


if __name__ == '__main__':
    obj = FunctionParser(['math'])
    builder = TreeBuilder()
    string1 = '5*(3+3*(5*5))'
    arr_node = builder.build_tree(string1)
    print(f'result {arr_node}')