freemarker-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christoph Rüger <c.rue...@synesty.com>
Subject Re: Freemarker template Introspection and ParserPlugin
Date Thu, 22 Oct 2020 14:36:23 GMT
can you point me to a starting class?

Daniel Dekany <daniel.dekany@gmail.com> schrieb am Do., 22. Okt. 2020,
16:34:

> No, AST, for Abstract Syntax Tree, is when you see the template as a
> tree. TemplateObject and its subclasses.
>
> On Thu, Oct 22, 2020 at 3:59 PM Christoph Rüger <c.rueger@synesty.com>
> wrote:
>
> > Thanks.
> > Just to be clear: When you say "AST API that we have", are referring to
> > doing something like this?
> >
> > package freemarker.core;public class FMParserTest {     public static
> void
> > main(String[] args) {                           FMParser fmParser = new
> > FMParser("<#if a ==
> > b>true</#if>");         Token nextToken =
> > fmParser.getNextToken();                System.out.println(nextToken);
> >               }}
> >
> >
> > Am Do., 22. Okt. 2020 um 13:43 Uhr schrieb Daniel Dekany <
> > daniel.dekany@gmail.com>:
> >
> > > I think at this point you might as well use the AST API that we have.
> > > Generally (didn't check the thread) my concern was that if the AST
> API-s
> > > are published, then they can't be refactored. But, they won't be in 2.x
> > > anyway. I didn't even dare to do basic clean up there (like just rename
> > > classes to have more helpful names), because someone might depends on
> the
> > > classes that are public, but are documented to be internal API-s.
> > >
> > > On Thu, Oct 22, 2020 at 10:38 AM Christoph Rüger <c.rueger@synesty.com
> >
> > > wrote:
> > >
> > > > Hi,
> > > > i found this discussion
> > > > https://sourceforge.net/p/freemarker/mailman/message/34258954/ and
> > this
> > > > repo https://github.com/cwong15/freemarker-introspection
> > > >
> > > > I wanted to ask the following things:
> > > >
> > > > 1. Where did this discussion go? Is there already something where one
> > can
> > > > get the AST for a template?
> > > >
> > > > We are currently investigating how we can access the AST to build a
> > > > graphical visualization of an IF/ELSE Statement.
> > > >
> > > > Example:
> > > > Imagine the user can enter something like "<#if (product.category ==
> > > "foo"
> > > > && product.price < 100)>true<#else>false</#if>
> > > > We would like to extract the used variables and the operators to
> > display
> > > > this in a more visual way.
> > > >
> > > > I am looking for some kind of starting point for this.
> > > >
> > > > Thanks for hints,
> > > > Christoph
> > > >
> > > > --
> > > > Synesty GmbH
> > > > Moritz-von-Rohr-Str. 1a
> > > > 07745 Jena
> > > > Tel.: +49 3641
> > > > 5596493Internet: https://synesty.com <https://synesty.com>
> > > > Informationen
> > > > zum Datenschutz: https://synesty.com/datenschutz
> > > > <https://synesty.com/datenschutz>
> > > >
> > > > Geschäftsführer: Christoph Rüger
> > > > Unternehmenssitz: Jena
> > > > Handelsregister B beim Amtsgericht: Jena
> > > > Handelsregister-Nummer: HRB 508766
> > > > Ust-IdNr.: DE287564982
> > > >
> > >
> > >
> > > --
> > > Best regards,
> > > Daniel Dekany
> > >
> >
> >
> > --
> > Christoph Rüger, Geschäftsführer
> > Synesty <https://synesty.com/> - Anbinden und Automatisieren ohne
> > Programmieren
> >
> > --
> > Synesty GmbH
> > Moritz-von-Rohr-Str. 1a
> > 07745 Jena
> > Tel.: +49 3641
> > 5596493Internet: https://synesty.com <https://synesty.com>
> > Informationen
> > zum Datenschutz: https://synesty.com/datenschutz
> > <https://synesty.com/datenschutz>
> >
> > Geschäftsführer: Christoph Rüger
> > Unternehmenssitz: Jena
> > Handelsregister B beim Amtsgericht: Jena
> > Handelsregister-Nummer: HRB 508766
> > Ust-IdNr.: DE287564982
> >
>
>
> --
> Best regards,
> Daniel Dekany
>

-- 
Synesty GmbH
Moritz-von-Rohr-Str. 1a
07745 Jena
Tel.: +49 3641 
5596493Internet: https://synesty.com <https://synesty.com>
Informationen 
zum Datenschutz: https://synesty.com/datenschutz 
<https://synesty.com/datenschutz>

Geschäftsführer: Christoph Rüger
Unternehmenssitz: Jena
Handelsregister B beim Amtsgericht: Jena
Handelsregister-Nummer: HRB 508766
Ust-IdNr.: DE287564982

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message