Skip to content
Snippets Groups Projects
Select Git revision
  • dbd04c4dc1af7a566a6c10132563508b78777948
  • master default protected
  • release/1.1.4
  • release/1.1.3
  • release/1.1.1
  • 1.4.2
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.1
  • 1.2.0
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1.1
  • 1.1.0
  • 1.0.9
  • 1.0.8
  • 1.0.7
  • v1.0.5
  • 1.0.5
21 results

InstanceTransformation.java

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Ast2String.java 1.43 KiB
    package de.tla2b.util;
    
    import de.be4.classicalb.core.parser.analysis.ExtendedDFAdapter;
    import de.be4.classicalb.core.parser.node.Node;
    import de.be4.classicalb.core.parser.node.Start;
    import de.be4.classicalb.core.parser.node.Token;
    
    public class Ast2String extends ExtendedDFAdapter {
    	private final StringBuilder builder = new StringBuilder();
    
    	@Override
    	public String toString() {
    		return builder.toString();
    	}
    
    	@Override
    	public void defaultIn(final Node node) {
    		super.defaultIn(node);
    		builder.append(node.getClass().getSimpleName());
    		builder.append("(");
    	}
    
    	@Override
    	public void defaultCase(final Node node) {
    		super.defaultCase(node);
    		if (node instanceof Token) {
    			builder.append(((Token) node).getText());
    		} else {
    			builder.append(node.toString());
    		}
    
    	}
    
    	@Override
    	public void defaultOut(final Node node) {
    		super.defaultOut(node);
    		builder.append(")");
    	}
    
    	@Override
    	public void beginList(final Node parent) {
    		builder.append('[');
    	}
    
    	@Override
    	public void betweenListElements(final Node parent) {
    		builder.append(',');
    	}
    
    	@Override
    	public void endList(final Node parent) {
    		builder.append(']');
    	}
    
    	@Override
    	public void betweenChildren(final Node parent) {
    		builder.append(',');
    	}
    
    	@Override
    	public void caseStart(final Start node) {
    		inStart(node);
    		node.getPParseUnit().apply(this);
    		node.getEOF().apply(this);
    		outStart(node);
    	}
    }