lexical-analysis

    1

    1답변

    나는 C로 작성한 간단한 어휘 분석기에 부동 소수점 기능을 추가하려고한다. 필자는이 방법에 대한 아이디어를 가지고 있지만, 모두 Parse 정수 리터럴에 if 문을 추가하는 등 불완전한 솔루션이지만 while 문 때문에 기간을 마침표로 계산합니다. 나는 while 문에 OR을 추가하는 것에 대해 생각했지만, 기간 만 지정하는 방법을 완전히 모르겠습니다. /

    0

    1답변

    토큰을 <VOTE>으로 선언했습니다. 이 토큰을 사용하여 중괄호로 구분 된 블록 내부를 일치 시키려고합니다. 블록 밖으로 나오면 건너 뛰고 싶습니다. 현재 토큰은 블록 내부 또는 외부에 관계없이 동일하게 일치하므로 블록 외부의 내용을 파싱하는 데 문제가 발생합니다. TOKEN: { < VOTE: " vote" > } TOKEN: { < #STRI

    0

    2답변

    나는 파이썬에서 렉서를 배우고있다. 일부 문자열에서 Ply 라이브러리를 사용하여 어휘 분석을하고 있습니다. 일부 C++ 언어 구문에 대해 다음 어휘 분석기를 구현했습니다. 그러나 나는 이상한 행동에 직면하고 있습니다. COMMENTstates function definitions을 다른 함수 정의 끝에 정의하면 코드가 올바르게 작동합니다. 다른 정의보다 먼

    0

    0답변

    저는 컴파일러를 배우고 있으며 언어/컴파일러에 관한 모든 용어/영역에 대해 다소 혼란스러워합니다. 여기에서 나는 그들 사이의 관계에 대해 이해하고 누군가가 내 생각을 승인하거나 수정할 수 있기를 바랍니다. 개발자가 직접 기계 코드를 작성하여 응용 프로그램을 만들기 위해, 그래서 우리는 높은 수준의 language을 필요로하는 것은 매우 어렵다. 그리고 우리

    2

    1답변

    저는 컴파일러 과정을 수강 중이며 소개를 되풀이하고 있습니다. 컴파일러 프로세스가 어떻게 작동하는지에 대한 일반적인 개요입니다. 그러나 나는 조금 혼란스러워합니다. 내 과정에서 "어휘 분석기는 일반적으로 특정 소스 언어 개념에 대한 정보를 저장/가져 오기 위해 기호 테이블에 액세스합니다"라고 명시되어 있습니다. 그래서 이것은 렉서가 실제로 심볼 테이블을 만

    2

    1답변

    파서 스캐너를 만들려고하는데,이 파일에 다음과 같은 내용이 들어있는 파일을 입력합니다. 5 + 23 + ..... + 3; 그리고 결과를 출력하고 싶습니다. 화면에. $$ = $1 +...이 어떻게 작동하는지 이해하기가 어렵지만이 $1, $2은 토큰과 어떻게 연결되어 있는지 이해하기가 어렵습니다. 누군가 내가 그 부분을 설명 할 수 있다면, 나는 정말로 감

    0

    1답변

    내가 컴파일러에 대해 읽고 있던, 어휘 분석기에 대한 장을 사용하여, 정규식합니다 (스캐너)와 나는 다음과 같은 성명에 의해 의아해 해요 : 입력 문자열 X를 들어 와 정규 표현식 R , 비 결정적 유한 오토마타를 사용하여 일치하는 항목을 찾기위한 복잡성은 다음과 같습니다는 O(len R * len X) 어떻게 복잡성은 len R에 다항식 수 있는가?

    0

    1답변

    안녕하세요, 저는 어휘 분석을 수행하는 최선의 방법을 이해하려고합니다. 나는 약간의 연구를했다. 나는 약간 혼란 스럽다. .. 정규 표현식 를 사용하여 문맥 자유 문법을 를 사용 내가 "m 잘못 어휘 분석을 위해 두 가지 방법이 기본적으로있을 경우 정정 해줘 그리고 말씀하시기 바랍니다 RE -> 렉서 생성기 -> 렉서 (ML-LEX) 및 CFG -> 파

    1

    1답변

    주어진 문법에 대한 렉서 (lexer)와 파서 (parser)를 작성해야합니다 (생성자가 아닌 수공예품이 필요합니다). 나는 많은 연구를 해왔지만 여전히 코드를 작성하는 방법을 알 수 없다. 예를 들어 나는 (문법 EBNF에)있다 : <Letter> ::= [A-Za-z] <IntegerLiteral> ::=<Digit> { <Digit> } 이 필

    1

    1답변

    예를 들어 lex 프로그램에서 토큰을 인식 할 때마다. "while" { printf("%s is a loop\n",yytext);} 이전에 선언 된 다른 문자열에 해당 토큰 이름 (예 : while)을 수집하려고합니다. "while" { printf("%s is a loop\n",yytext); str = yytext;} str을 주 인쇄 할 때