꼭 필요한 주석이 포함된 자바스크립트 파일이 있습니다. Javascript는 C 스타일 주석을 사용합니다.
//this is a single line comment
그리고
/* this is
a multi-line
comment */
그러나 실제 코드는 다음과 유사합니다.
/* blah blah
// [NOTE] blah blah
// blah
// blah blah blah
// blah
// blah blah
function("string", false);
// 1: blah blah blah blah blah blah
// [1] https://example.com
function("string", true);
/* blah blah
* blah blah //* /
function("string", false);
// * * * /
// 18: blah blah blah blah blah blah
// [-] (part1) https://example.org/43
function("string", 0);
// * * * /
// 20: blah blah blah blah blah blah
// [NOTE] blah blah blah blah blah blah blah blah blah blah blah blah
// [-] https://example.org/62015
function("some_string", "string"); // (comment)
// 0301: blah blah blah blah blah blah
// [-] https://example.org/205
// function("string", false);
// 040: blah blah blah blah blah blah
// What is this?
// [-] https://example.org/58917
function("string", true);
// 050: blah blah blah blah blah blah
// [-] https://example.org/57226
function("string", false);
// 103: blah blah blah blah blah blah
// [-] https://example.org/53751
// function("string", false);
// 203: blah blah blah blah blah blah
// [WARNING] This may break
// [-] https://example.org/70082
function("string", false);
// 27: blah blah blah blah blah blah
// [-] https://example.org/57170
// function("string", 90); // default: 90
// 55: blah blah blah blah blah blah
// [-] https://example.org/73595
// function("string", true);
// * * * /
// ***/
function("string", 99); //comment comment
내가 찾은 답변(이와 같은)은 더 간단한 사례를 다룹니다.
쉘 스크립트 - 파일의 모든 주석을 제거하는 방법은 무엇입니까? - Unix 및 Linux 스택 교환파일에서 모든 주석을 제거하는 방법은 무엇입니까?
내가 겪고 있는 가장 큰 문제는 내 다양한 정규 표현식이 너무 욕심이 많다는 것입니다. 예를 들어 /*
처음부터 마지막까지 모든 것을 선택합니다 */
. 나는 Perl에 익숙하지 않기 때문에 Perl을 사용해 보지 않았습니다. 그리고 불행하게도 내가 시도한 도구는 내가 시도하고 싶었던 정규식 구문을 모두 지원하지 못했습니다. 이 작업에 어떤 간단한 도구가 가장 적합한지 잘 모르겠습니다.
답변1
cpp -undef -P your_file.js
이것을 달성하기 위해 또는 를 사용합니다 cc -undef -E -P -xc your_file.js
.
cpp
도구가 cc
충분히 "일반적"이지 않다고 생각한다면 운이 좋지 않을 것입니다. 정말 그래야 합니다.