이미 질문을 받으면 미리 사과드립니다. 문법에 의해 정의 된 언어를 사용하고 있으며 사용자 정의 문법에 맞게 Intellisense를 구현하는 방법을 알고 싶습니다. 이것은 나에게 기계적인 것처럼 보인다. 사용자는 생성 된 파서에 공급되는 내용을 입력하고 키워드 제안을 제공합니다. 파싱을 일회성이 아닌 증분 (즉, 생성 된 파서)이되도록 수정해야 할 것입니
Ruby 용 Citrus와 같은 문법을 사용하여 결국 부울 논리가 될 내용을 처리하려고합니다. 재귀 문제가 발생하지만 정확한 이유는 확실하지 않습니다. 여기 COMMANDWORD # MYCOMMENT
(고급 물건을 처리하도록 구성)의 내 감귤류 문법 : : 여기 프로세스에 노력하고있어 텍스트의 (그것은 매우 끝에 줄 바꿈을해야한다) grammar Gra
원래 Perl (참조 Chessa# on github 참조)을 기반으로 작성한 minilanguage를 다시 작성하지만 의미를 적용 할 때 여러 가지 문제가 있습니다. Here is the grammar : (* integers *)
DEC = /([1-9][0-9]*|0+)/;
int = /(0b[01]+|0o[0-7]+|0x[0-9a-fA-F]+)/
저는 매우 많은 수의 구문 분석 규칙 (즉, 문자열을 다른 문자열이나 구조화 된 데이터로 변환하는 함수)을 작성해야하는 위치에 있으며, 이를 위해 PEG를 사용하면, 예문과의 정확한 구문을 보여주는 목록을 제공함으로써 글쓰기가 더 쉬울 것입니다. 기술적으로는 사소한 것 같지만 혼란 스럽습니다. 저는 PEGjs (구문 분석 표현식 도구)와 정규식을 가지고 놀
그래서 저는 pegjs에 아주 기본적인 Lisp 파서를 쓰려고 노력하고 있습니다. Lisp 코드가 구문 상 유효하고 적합하다면 같은 코드를 내뱉습니다. 한 줄. 어디에도 삽입 된 개행 문자를 허용 할 수 있도록 파서를 확장하여 코드의 공백을 추가하고 싶습니다. I가 "튜플"에 대한 규칙을 변경 시도, 줄 바꿈과 공백 수 있도록 내 시도, Start
나는 다음과 같은 최소한의 Peg.js 문법 정의했습니다 : start = "A1"/"A123"
당신이 in the sandbox을 시도 할 수 있습니다. "A1"과 "A123"이 일치 할 것으로 예상됩니다 (백 트랙킹 작동 방식에 대한 나의 견해에 따르면). 그러나 이것은 사실이 아닙니다 : 문법은 "A1"을 인식하지만 "A123"을 인식하지 못합니다
저는 파이썬에서 초보자입니다. 그러나 일부 텍스트 파일 (VCard * .vcf)을 파싱하고 Allen Short의 파슬리를 우연히 발견했습니다. 그러나 새로운 Python 3.4에서 작동하지 않는 것 같습니다. 버전이 있습니까? 내가 BTW pypi.python.org 에서 버전 : SyntaxError: multiple statements found w