New seed/개발노트 (r2 판)

편집 시각:
[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
1. 개요2. ㅁㄴㅇㄹ
2.1. 파서
2.1.1. 고질적 이슈 - 규식이2.1.2. 고질적 이슈2 - 지랄맞은 파서 반환값

1. 개요[편집]

분명 New seed 개발하기 시작했는데 아무도 관심이 없고 아무도 모르고 아무도 안 쓰고 심지어 공식 문서조차 없어서 그냥 귀찮아 개발노트랑 업데이트 일지나 대충 끄적이려고 만든 문서 중 하나

2. ㅁㄴㅇㄹ[편집]

2.1. 파서[편집]

2.1.1. 고질적 이슈 - 규식이[편집]

const rHeadings = /^(=\s(((?!\s=).)*)\s=|==\s(((?!\s==).)*)\s==|===\s(((?!\s===).)*)\s===|====\s(((?!\s====).)*)\s====|=====\s(((?!\s=====).)*)\s=====|======\s(((?!\s======).)*)\s======|=[#]\s(((?!\s[#]=).)*)\s[#]=|==[#]\s(((?!\s[#]==).)*)\s[#]==|===[#]\s(((?!\s[#]===).)*)\s[#]===|====[#]\s(((?!\s[#]====).)*)\s[#]====|=====[#]\s(((?!\s[#]=====).)*)\s[#]=====|======[#]\s(((?!\s[#]======).)*)\s[#]======)$/gm;
const rHeading = [, ];
for(var i=1; i<=6; i++) {
rHeading.push(RegExp(`^${multiply('=', i)}([#]|)\\s(((?!${multiply('=', i)}).)*)\\s([#]|)${multiply('=', i)}$`, 'm'));
}


엄청난 파서. 저거 해독하는데에 하루가 넘게 걸림

심지어 원본은 더 처참하다.
const rHeadings = 
ver('4.7.2')
? /^(=\s(((?!\s=).)*)\s=|==\s(((?!\s==).)*)\s==|===\s(((?!\s===).)*)\s===|====\s(((?!\s====).)*)\s====|=====\s(((?!\s=====).)*)\s=====|======\s(((?!\s======).)*)\s======|=[#]\s(((?!\s[#]=).)*)\s[#]=|==[#]\s(((?!\s[#]==).)*)\s[#]==|===[#]\s(((?!\s[#]===).)*)\s[#]===|====[#]\s(((?!\s[#]====).)*)\s[#]====|=====[#]\s(((?!\s[#]=====).)*)\s[#]=====|======[#]\s(((?!\s[#]======).)*)\s[#]======)$/gm
: /^(=\s(((?!\s=).)*)\s=|==\s(((?!\s==).)*)\s==|===\s(((?!\s===).)*)\s===|====\s(((?!\s====).)*)\s====|=====\s(((?!\s=====).)*)\s=====|======\s(((?!\s======).)*)\s======)$/gm ;
const rHeading = [, ];
for(var i=1; i<=6; i++) {
rHeading.push(RegExp(`^${multiply('=', i)}([#]|)\\s(((?!${multiply('=', i)}).)*)\\s([#]|)${multiply('=', i)}$`, 'm'));
}


그래서 이 문제를 해결하지 않는 이상 파서가 qt인 점은 해결하지 못할 것 같다.

2.1.2. 고질적 이슈2 - 지랄맞은 파서 반환값[편집]

뭐 이건 다들 알 것이다. 당장 구 하늘위키 도움말만 봐도 와장창 깨져있는데 뭐 더 할 말이 있나?

문법 지원에 대해서는 말을 아끼겠습니다. 구 하늘위키를 조금이라도 해 본 유저들이라면 충분히 뭐가 문제인지는 알 것이다.