Thank you very much!

On Tuesday, August 13, 2024 at 1:09:29 AM UTC+3 asme...@gmail.com wrote:

> You need to write a function that takes the stream of tokens and
> returns a new stream of tokens which are re-parenthesized. For
> example, ['p', '>>', 'q', '>>', 'r'] would become ['p', '>>', '(',
> 'q', '>>', 'r', ')']. But you'd also need to handle the case where one
> of the operands is itself parenthesized or involves operators with a
> higher precedence than >>.
>
> Unfortunately, this isn't the simplest thing in the world to do. It
> would probably be useful to add something to SymPy that lets you take
> a general transformer that can adjust operator precedence and
> associative rules. Or we should write our own custom parser for
> parse_expr that makes it easier to make these sorts of changes (both
> of these are things we would like to see, but not easy tasks).
>
> Here are examples of existing token transformers for parse_expr
> https://github.com/sympy/sympy/blob/master/sympy/parsing/sympy_parser.py.
> My guide to the Python tokenizer module can also be useful
> https://www.asmeurer.com/brown-water-python/
>
> Aaron Meurer
>
>
> Aaron Meurer
>
> On Mon, Aug 12, 2024 at 1:46 PM Paul Royik <distan...@gmail.com> wrote:
> >
> > Thank you.
> >
> > Can you point me how it could look like?
> >
> > Thank you.
> >
> > On Monday, August 12, 2024 at 10:20:25 PM UTC+3 asme...@gmail.com wrote:
> >>
> >> There's no way to change the Python operator precedence, but you can
> >> modify the string parsing in parse_expr() by passing in a transformer
> >> for the tokenizer.
> >>
> >> Aaron Meurer
> >>
> >> On Mon, Aug 12, 2024 at 12:38 PM Paul Royik <distan...@gmail.com> 
> wrote:
> >> >
> >> > Hello.
> >> >
> >> > I'm trying to parse the ">>" symbol as implies operator.
> >> >
> >> > I've managed to parse p>>q>>r as Implies(Implies(p,q), r) using sympy 
> functions as a base (possibly, there is a built-in solution that I'm not 
> aware of), but it appeares that Implies is a right-associative operator.
> >> >
> >> > Are there some functions in Sympy that allow me to parse p>>q>>r as 
> Implies(p, Implies(q,r))?
> >> >
> >> > Thank you.
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google 
> Groups "sympy" group.
> >> > To unsubscribe from this group and stop receiving emails from it, 
> send an email to sympy+un...@googlegroups.com.
> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/38551028-8785-4ecb-a407-e58b7ea4b037n%40googlegroups.com
> .
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "sympy" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to sympy+un...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/ba92bd20-1a6c-4eff-9c8a-b3402125365cn%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/0858444e-e23f-4259-bdff-ac5b8f5329d0n%40googlegroups.com.

Reply via email to