Skip to content

Проецирование правила на код на основе ebnf #6

Description

@Shopin-Igor

Java исходниик 1

public class AST {
    public int sum(int a, int b) {
        if(a == b){return 2 * a;}
        return a + b;
    }
}

Java исходниик 2

public class AST {
    public int sum(int a, int b) {
        if (a == b) 
        {return 2 * a;}
        return a + b;
    }
}

Правило для форматирования для элемента AST дерева:

<ifStmt> ::= IfStmt(
                  condition = <expr>,
                  thenStmt  = BlockStmt(statements = [ <stmt>* ]),
                  elseStmt? = BlockStmt(statements = [ <stmt>* ])
                );

definition of done:

  • описанное на ebnf правило для форматирования применяется на Java исходниик 1 и получается Java исходниик 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions