abstract-syntax-tree

    5

    2답변

    단위 테스트에 가장 적합한 방법으로는 컴파일러와 같은 복잡한 단위가 있습니까? 필자는 지난 몇 년 동안 컴파일러와 인터프리터를 작성 했으므로 이런 종류의 코드는 좋은 방법으로 테스트하기가 어렵습니다. 우리는 추상 구문 트리 생성과 같은 것을 사용합니다. TDD를 사용하여 어떻게 테스트합니까? 작은 구조는 테스트하기 쉽습니다. 예 : string code =

    5

    1답변

    clang의 AST를 검사하고 싶습니다. 하나의 튜토리얼에 제공된 샘플 코드를 사용하기 시작했습니다. 내 현재 코드는 #include <iostream> #include "llvm/Support/raw_ostream.h" #include "llvm/Support/Host.h" #include "llvm/Support/Casting.h" #incl

    4

    1답변

    저는 완전히 새로운 이름의 변수가 null 인 boost::spirit (버전 1_51_0)의 수학 표현식에 대한 파서를 작성하려고합니다. 나는 qi::rule<Iterator, Value()> expression, term, others, ...;이 내가이 매크로 #define BINARY_FUNCTOR(name, op) \ struct nam

    0

    1답변

    내 작업 공간에서 생성 된 프로젝트의 C 파일에서 CDT Eclipse 프레임 워크의 도움으로 AST를 생성하려고합니다. 그러나 때마다 나는 ICElement ice = CoreModel.getDefault().create(file); ITranslationUnit tu= (ITranslationUnit) ice; 얼음을 통해 TranslationUn

    2

    1답변

    Ruby로 작성된 컴파일러에서 작업 중이며 현재 의미 분석 단계 (유형 검사)를 진행 중입니다. 선불 주문과 주문 후 주문 방식으로 방문해야하는 AST가 있습니다. Ruby에서 가장 좋은 방법은 무엇인지 궁금합니다. 블록을 each으로 전달하는 것은 본질적으로 방문자 패턴이지만, 두 가지 방식 (사전, 게시물)으로 방문해야하고 Ruby가 메소드 오버로드를

    0

    1답변

    작은 쉘을 구현하고 lex & yacc을 사용하여 명령을 구문 분석합니다. Lex는 stdin에서 명령을 읽고 yacc은 yyparse 뒤에 명령을 실행합니다. 문제는 구문 오류가있을 때 yacc이 오류를 묻고 처음부터 구문 분석하는 것입니다. 이 경우 cmd1 >>> cmd2은 cmd2으로 실행되고 >>>은 구문 오류입니다. 제 질문은 구문 오류가 발생한

    5

    1답변

    나는이 코드에 camlp4 인용문을 포함하고 있습니다. let f_name = "my_func" <:str_item< value $lid:f_name$ a = a * 2 >> camlp4of 통해이 작업을 실행 한 후,이 생산 : Ast.StExp (_loc, (Ast.ExApp (_loc, (Ast.ExApp (_loc, (Ast

    2

    1답변

    간단한 구문과 풍부한 이벤트 처리기로 변수 바인딩/동기화를 제공하는 Groovy 라이브러리를 개발 중입니다. 첫째로 나는 다음과 같은 실행 보관하는 것을 목표로하고 있습니다 : def a = 1 def b = 1 def c = 1 a bind { b + c } assert a==2 & b==1 & c==1 b = 3 assert a==4 & b=

    8

    1답변

    나는 추상 구문 트리를 만드는 ANTLR3 문법을 가지고있다. ANTLR4로 업그레이드하는 중입니다. 그러나 ANTLR4는 추상 구문 트리가 아닌 구문 분석 트리 만 작성합니다. 예를 들어, output=AST 옵션은 더 이상 인식되지 않습니다. 더구나 "AST"도 "추상 구문"도 "The Definitive ANTLR4 reference" 텍스트에 나타납

    4

    1답변

    저는 교육적인 목적으로 컴파일러를 작성하고 있습니다. 내 입력에서 토큰을 생성하고 AST를 생성하려고합니다. 나는 토큰 목록을 받아서 ast를 생성하는 재귀 함수를 가지고있다. 대부분의 파서에서는 렉서에 대한 포인터가 있으므로 트리에서 토큰을 처리 할 때마다 렉서를 향상시킬 수 있습니다. 나는 당신이 렉서 목록의 구조를 수정할 수 없으므로 트리에서 더 깊은