abstract-syntax-tree

    2

    1답변

    저는 OCaml을 아직 처음 접했고 작은 언어 용 스캐너, 구문 분석기 및 추상 구문 트리 (예쁜 프린터 사용)를 작성했습니다. 내 AST는 잘 컴파일하는 데 사용되었지만 이제는 구문 오류가 발생하여 이유를 파악할 수 없습니다. 여기 내가 오류를 얻을 경우 코드의 일부입니다 1 type op = Add | Sub | Mult | Div | Equal | N

    2

    1답변

    샘플 코드에서 Clang의 ASTVisitor를 구문 분석하는 동안 구문을 검증하는 구문이 있음을 알 수 있습니다. isa<IfStmt>(statement) isa<UnaryOperator>(Expression) 현재 표현식/문을 평가하는 데 사용되는 구문의 포괄적 인 목록이 있습니까? 감사 모든

    3

    1답변

    파이썬의 ast 모듈을 사용하여 클래스 상속 트리를 표시하고 있습니다. ast.NodeVisitor에 대해 visit_ClassDef(self, node) 함수를 정의하고 node.bases을 반복합니다. 그러나 기본 클래스의 이름을 문자열로 가져올 수 없었습니다. 지금까지 base.value과 base.name을 시도했지만 아무 소용이 없습니다. >>>

    0

    1답변

    Eclipse에서 개발하는 동안 JDT가 클라이언트에 반환하는 방식이 어쨌든 일반적으로 AST에 얼마나 일반적입니까? 그리고 어떤면에서 때때로 깨지십니까? 수입이 누락 된 것과 같은 명백한 현상을 상상할 수 있지만 코드가 컴파일되는 경우도 있지만 JDT-AST가 여전히 손상되었거나이 AST가 실제 컴파일러에 대한 입력입니까?

    2

    1답변

    저는 AST 조작으로 놀고 있습니다. 현재 입력 AST에서 특정 노드를 제거하려고합니다. NodeTransformer 클래스는이 목적을위한 적절한 툴이라고 생각합니다. 슬프게도 예상대로 동작하지 않습니다. documetation는 말한다 : 는 "NodeTransformer는 AST를 걸어 교체하거나 이전 노드를 제거하는 방문자 방법의 반환 값을 사용하는

    2

    1답변

    나는 Spidermonkey Parser에 매우 익숙하며 두 가지 질문이 있습니다. 첫 번째는 spidermonkeyParser를 사용하여 Javascript 파일의 AST를 생성하는 방법에 대한 좋은 문서 (초보자 용)입니다. 두 번째 방법은 대서양 표준시를 통과하는 법을 알아야합니다. 내 목표는 AST의 정보를 사용하여 JS 파일의 정적 분석 (유형 분

    1

    1답변

    의 동일한 수를 반환 나는 다음과 같은 규칙이 있습니다 ( OPT1이 정의되거나되지 않은 경우)에 따라 하나 또는 두 아이를 가질 것이 규칙에 의해 생성 statement : TOKEN1 opt1=TOKEN2? opt2=TOKEN3 TOKEN4 -> ^(TOKEN1 opt1? opt2); 대서양 표준시를. 항상 고정 된 수의 아동 (이 경우 2)이 필요

    1

    1답변

    다른 문법에 의해 생성되고 소비 된 AST를 변환 할 ANTLRv3 문법이 있습니다. 는 그것의 한 부분이 실제 목록 표현으로 M:N (즉 1:5) 같이 정의 범위를 다시 작성하는 것입니다 -. M, M+1, ..., N (즉 1, 2, 3, 4, 5) 따라서, 노드 ^(RANGE s=INT e=INT)는 INT 토큰의리스트로 변환됩니다 . range

    0

    1답변

    내가 b.a := 7; 내 문법과 같은 문을 구문 분석 문법을 쓰기 위해 노력하고 있어요 그것은 내가 을 구문 분석하려고 할 때 잘 작동 public class STGrammar : InterpretedLanguageGrammar { public STGrammar() : base(caseSensitive: false) {

    2

    4답변

    Eclipse는 PHP, JavaScript 및 JAVA 코드에서 AST 트리를 작성하는 데 아주 좋은 aproach를 제공합니다. 해당 요소의 위치를받는 언어의 각 요소 + 코드의 유효성을 검사하고 구문 오류 위치를 가질 수 있습니다. HTML과 CSS는 비슷하지만 성공하지 못한 API를 찾으려고했습니다. 이클립스가 강조 표시하고 코드가 해당 언어를 지원