이후로 기술 된 인터페이스 IASTNode하는 방법 getRawSignature있다 : Returns the raw signature of the IASTNode before it is processed by the preprocessor.
Example:
#define ONE 1
int x=ONE; // getRawSignature() for thi
내 요구 사항은 COBOL을 JAVA로 변환하여 AST로 변환 한 다음 Java로 변환하려고합니다. COBOL의 AST(Abstract Syntax Tree)을 얻을 수있었습니다. 이제 저는 AST에서 Java 소스 코드 생성을 찾고 있습니다. 나는 XML 파일에서 CompilationUnit 또는 AST (JDT)를 생성 할 수있는 기대했다,하지만 불행히
모든 FunctionDecl 노드를 벡터에 저장하여 나중에 방문 할 수있게하려고합니다. : 유스 케이스는 기능에 스테핑에 대한 ASTConsumer 내 HandleTopLevelDecl에서 수행하는 모든 노드의 보관 (예는 통화 기능 B를 작동, 나는 기능 B 노드에서 VisitDecl를 호출 할 수 할) 것 std::vector<Decl> vec;
v
그래서, 내 작업은 구문 분석 트리 자바로 작성된 코드를 생성 통과하는 것입니다 예를 들어, 유형, 일부 단어 수정 인쇄 그것의 대부분 변경 (문법은 표준 자바 문법이다) 및 선언. 현재로서는 ParseTreeListener을 만들고 enterEveryRule 방법으로 로직을 구현했지만 어쨌든 기본 인쇄에서는 작동하지 않습니다. 출력은 매우 혼란스럽고 모든
자바에서 컵 파서와 같은 프로젝트 종속성이나 도구없이 처음부터 추상 구문 트리를 작성하여 정규 표현식에 대한 파서를 작성하려고합니다. 나는 정규식에 포함 된 모든 정보를 저장하고 싶지 않지만 대신 가능한 한 간단하게하고 싶다. 예를 들어, x::=y|z은 문자 클래스 x::=[yz]과 동일한 AST로 이어져야합니다. 그러나 정규 표현식은 매우 복잡 할 수
사용하여 코드를 다음과 같이 발언을 통해 인하에서 AST 트리를 얻을 나는 AST 트리를 좀하고 싶습니다 AssertionError: VFile {
contents: '# header\n\n20 December 2012\n\n\n\ncontent1\n\ncontent2\n\n## header2\n',
Clang을 사용하여 AST 방문자를 구현했습니다. 이 코드를 사용하여 correclty라는 함수 호출 이름을 검색 할 수 있습니다. virtual bool VisitFunctionDecl(FunctionDecl *func)
{
numFunctions++;
string funcName = func->getNameInfo().getN
여러 줄의 코드에서 AST를 만드는 일반적인 방법은 무엇입니까? 예를 들어 나는 한 언어에서 다른 언어로 코드를 번역하는 번역가를 작성하는 경우, 나는 다음과 같은 문장의 집합을 발생 : 나는 성공적으로 여기에 코드의 각 라인마다하는 AST를 만들 수 있습니다 x = 2
f = k->o
a = 1+2*3
. 자, 변환 된 코드를 생성하는 동안 코드가
이 부분은 Getting subclasses of a sealed trait과 부분적으로 중복됩니다. 그러나 대답은 나에게 부적절한 런타임 리플렉션을 제안하며 아마도 컴파일 타임에 가능한지, 아니면 아마도 셰이프리스를 사용하고 있는지 알고 싶습니다. . 그래서,이 ADT 갖는 sealed trait ColumnAttribute
case class Defa
clang의 API를 사용하여 소스 코드의 블록 활성을 덤프해야합니다. 블록 활자 인쇄를 시도했지만 아무런 성공도 얻지 못했습니다. 다음은 내가 시도한 코드입니다. 나는 오버라이드 비지 티 함수를 가지고 있으며 함수의 활력을 인쇄하려고했습니다. LiveVariables 객체를 얻기 위해 create, computeLiveness 및 getAnalysis 메