학부/컴파일러개론 (2) 썸네일형 리스트형 [컴파일러개론 실습] 4. tinyPythonPrintListener import org.antlr.v4.runtime.tree.TerminalNode; public class tinyPythonPrintListener extends tinyPythonBaseListener { static int tab = 0; void printTab() { for (int i = 0; i < 4*tab; i++) { System.out.print(" "); } } @Override public void enterStmt(tinyPythonParser.StmtContext ctx) { printTab(); } @Override public void enterSuite(tinyPythonParser.SuiteContext ctx) { ++tab; } @Override public void.. [컴파일러개론 실습] 1. 엄랭 to C 컴파일러 import java.io.*; public class Main { static String Calculate(String s, String var) { StringBuilder sb = new StringBuilder(); int N = s.length(); s += '#'; sb.append('(').append('0'); for (int i = 0; i < N; i++) { char c = s.charAt(i); if (c == '.') { sb.append("+1"); } else if (c == ',') { sb.append(-1); } else if (c == ' ') { sb.append(")*("); } else if (c == '식') { ++i; sb.append('+').append(.. 이전 1 다음