갑자기 궁금해져서 10억개 char 배열 만들고 문자 다 집어넣고 길이 재는 것까지 했는데 몇 초 안걸리네
1억짜리는 거의 바로 나오는 수준이던데 연산 자체는 존나 빠르고 입출력이 오래 걸린다는 거만 알게 됐읍니다.
코딩 이야기 : 파서 구현하고 싶어서 관련 내용 찾아보는데 렉서, 토크나이저의 개념을 알게 되었음.
정규 표현식이란 게 있단 것도 알았는데 따로 이름이 붙여진 이유가 별도의 용도로 이름이 붙은 건지 파서의 일부로 들어가 있는 개념인지 아직 잘 몰르겟음..
컴파일러를 만들고 싶은 건 아닌데 파싱 자체에 대한 공부를 하려면 운영체제 공부가 답입니까?
운체는 더 파싱이랑 상관없어서 걍 컴파일러 쪽 자료나 계속 보시는게
추가 비용은 안들어서 좋은데스
근데 그거 믿고 개떡같이 만들면 규모가 커질 때마다 엄청나게 느려짐 생각보다 depth가 깊어질 수록 실행되는 코드 양이 어마어마함 그렇기 때문에 코어를 잘 짜야 하는 것임 정규표현식 자체를 파서라고 부르지는 않고 정규표현식 파서는 또 따로 있지 어쨌든 정규표현식도 일단 파싱해야 식에 따라 문자열을 조작하지
뭐랄까 정규표현식 그 자체로는 파서보단 제너레이터에 가까운 느낌
파싱 하고 추가적으로 처리할 때 쓰는 거였군요 감사한데스
아니 파싱이랑 정규표현식은 상관이 없고 정규표현식을 구현할 때 파서를 구현해야된다 이 말임 일반 사용자 입장에선 그냥 식만 짜면 되는 거고
아하
정규표현식 자체는 문자열을 표현하기 위한 문법 중 하나임
아직 사용해본 적이 없어서 이런게 있다고만 알고 가는데 몸으로 부딪혀봐야 아는 타입이라 직접 써봐야 할덧
전에 코테할때 테스트용 출력 코드를 넣었는데 너무 느려서 반쯤 포기하고 출력 코드 지워서 내니 성공했던 기억이... - dc App
파싱라면 컴공 전공으로 나오는 유한오토마타이론 이런거 말하는건가 - dc App
목표가 위키 구현하는 거라 구문 분석부터 알아보고 있음
정규표현식이란 개념이 있고 이걸 이용해서 매칭해서 토큰으로 분류해내는 렉서를 주로 만듬 , 파싱은 말로는 여러의미로 사용되는데 엄밀히 말하면 이런 토큰들을 가지고 문법에 맞는지 확인하면서 구조화된 관계로 구성하는것을 말함 (파스트리)
그래서 렉서 => 파서 => 중간언어 요런 과정을 거침 컴파일러 등의 전처리부분임