나는 이것이 일반적인 질문이라는 것을 알고있다.일반적으로 컴파일러에서 파일을 읽는 가장 좋은 방법은 무엇입니까?
저는 컴파일러를 프로그램 할 것입니다. 파일을 읽는 동안 언어의 토큰을 사용하는 것이 더 좋은지 궁금합니다 (예 : 파일을 열고 나서 읽는 동안 토큰을 추출한 다음 마지막으로 파일을 닫음) 또는 먼저 파일을 읽고 닫은 다음 변수의 데이터로 작업하십시오. 의 추가 비용이 아니므로
file = open(filename);
readWhileGeneratingTokens(file);
close(file);
내가 첫 번째 옵션이 더 잘 보이는 것 같아요 : 첫 번째 옵션은 뭔가 같은 것
file = open(filename);
textVariable = read(file);
close(file);
getTokens(textVariable);
: 뭔가처럼 이것에 대한 의사 코드는 것 메인 메모리의 용어. 그러나 두 번째 옵션을 사용하면 몇 가지 이점이있을 수 있습니다. 파일을 여는 시간을 최소화하기 위해서입니다.
'program a compiler'라고 할 때, 전체 컴파일러를 직접 작성한다는 의미입니까? 이 경우 토큰 및 후속 단계를 추출하는 데 lex 및 yacc와 같은 도구를 사용하는 것이 좋습니다. – damned
예, 전체 컴파일러를 직접 작성하는 것이 좋습니다. 나는 그 도구에 대해 알고 있으며, 실제로 그것을 수행하는 최선의 방법입니다. 그러나, 이것은 학업 목적을위한 것이며 그들을 사용할 수 없습니다. – ArthurTheLearner