source: proto/pablo/src/compiler/backend/visitors/helpers/UnparserUtil.java @ 2710

Last change on this file since 2710 was 2710, checked in by ksherdy, 6 years ago

General refactoring.

File size: 970 bytes
Line 
1package compiler.backend.visitors.helpers;
2
3import ast.*;
4
5import java.util.Iterator;
6import java.util.List;
7
8public abstract class UnparserUtil extends ASTVisitor.Default<CodeStore> {
9                       
10        public static CodeStore concatenatedChildrenCode(List<CodeStore> childResults) {
11                return concatenatedChildrenCode(new CodeStore(), childResults, false);
12        }
13       
14        public static CodeStore concatenatedChildrenCode(CodeStore code, List<CodeStore> childResults, boolean blankBetween) {
15                for(CodeStore childCode: childResults) {
16                        code.addAll(childCode, 0);
17                        if(blankBetween) {
18                                code.addLine(" ");
19                        }
20                }
21                return code;
22        }
23       
24        public static String makeDelimitedList(Iterator<CodeStore> iter, String delimeter) {
25                StringBuilder resultVar = new StringBuilder();
26                while (iter.hasNext()) {
27                        resultVar.append(iter.next().getResultVarName());
28                        if (iter.hasNext()) {
29                                resultVar.append(delimeter);
30                        }
31                }
32                return resultVar.toString();
33        }       
34       
35}
Note: See TracBrowser for help on using the repository browser.