Eclipse에서 소스 코드를 분석 한 후 일부 통계를 작성합니다. 그러나 각 컴파일 후에 처음부터 매번 모델을 다시 작성하기 때문에 전반적인 프로세스가 너무 느립니다. 코드의 변경된 부분 (ASTNodes)을 가져 와서 모델의 일부만 다시 작성하는 방법을 찾고 있습니다. 사용자가 컴파일 한 후에도 정확한 코드 요소가 아니라 변경된 컴파일 단위조차도 충분할
저는 Visual Basic과 C#에서 모두 개발 된 하나의 응용 프로그램을 현재 이해하고 있습니다. 코드가 50KLOC 정도이므로 코드를 실행하는 것이 어려워지고 있습니다. 그래서 AST (abstract syntax tree)의 생성을 계획하고 있습니다. 두 언어를 함께 생성 할 수 있습니까? 적어도 콜 그래프를 생성 도움이 될 것이다 (그러나 두 언어
Java AST가 있으며 XPath를 통해 변수를 찾으려고합니다. 변수 내가 텍스트 '는 foobar'을 잘 모릅니다 만, 다른 요소 //VariableDeclarator/VariableDeclaratorId[@Image=//SynchronizedStatement/Expression/PrimaryExpression/PrimaryPrefix/Name]
에
에 기반을 다시 나는 내가 o 변수에 정의 된 문자열이 사용되는 동기화 블록을 찾는 XPath 쿼리를 만들려고 public class Test {
String o = new String("hh");
public void wrong1() {
synchronized(o) {
// huhu
}
}
}
나는 꽤 복잡한 DSL을 몇 가지 고수준 언어로 컴파일하려고합니다. 전체 과정은 학습 경험이었습니다. 컴파일러는 java로 작성됩니다. 누군가 코드 생성기 부분의 설계에 대한 모범 사례를 알고 있는지 궁금합니다. 나는 현재 모든 것을 추상 구문 트리로 파싱했다. 템플릿 시스템을 사용하려고 생각했지만 스택 오버플로에서 처음으로 지혜를 듣고 싶습니다. 아직 방
C++ 코드를 xml로 변환 할 수있는 도구가 있습니까? 아니면 구문 분석이 더 쉬운 다른 형식이 있습니까? xml을 C++로 되돌릴 수있는 옵션이 있다면 좋을 것입니다. doxygen의 xml 형식에 대해 이미 알고 있습니다. 아마 나 일뿐입니다.하지만 특별히 도움이되지는 않습니다.
위해 나는 다음과 같은 코드를 사용하여 스칼라 AST를 생성하고 : val setting = new Settings(error)
val reporter = new ConsoleReporter(setting, in, out) {
override def displayPrompt =()
}
val compiler = new
AST로 작업 할 때 모범 사례가 있습니까? 구문 분석 AST가 있습니다. ConstantExpression, BinaryExpression 등 AST의 정보로 GUI 대화 상자를 채우고 싶습니다. 내 코드가 꽤 복잡해지기 때문에 다소 혼란 스럽습니다. 예 : 나는 값 10 RESP 두 개의 텍스트 상자를 채우려 expression = "Var1 > 10
파이썬 AST [ast.parse()]가 반환합니다. 나는 이것이 클래스 메서드의 AST라는 것을 알고있다. 동일한 클래스의 다른 메소드에 대한 모든 호출을 찾으려면 어떻게합니까? def baz(self): # this is a class method
'''baz docstring'''
self.foo() + self.bar()
은 내