내가 산술 표현식 파서가 콤비. X < formula과 같은 구문을 분석해야한다고 가정 해 보겠습니다. 불행하게도 나는 나의 새로운 파서 FormulaParser.formula를 다시 사용할 수 없습니다 : object ConditionParser extends JavaTokenParsers {
def apply(input: String) = pa
나는 파서 연결자를 사용하여 하스켈에서 파서를 만드는 중이다. "while", "true", "if"등의 키워드 구문 분석에 문제가 있습니다. 그래서 내가 직면 한 문제는 키워드 뒤에 구분 기호 또는 공백이 있어야한다는 것입니다 명세서에있는 if cond then stat1 else stat2 fi;x = 1 모든 키워드는 앞에 공백 또는 세미 콜론이 있습
처음부터 파서 연결자 용 터미널 파서를 만들려고합니다. 내 접근 방식은 입력 문자열에 regexp-match-positions*을 사용하고 패턴이 첫 번째 위치에서 발견되면 분할 문자열을 출력합니다. 이것은 지금까지 내가있어 무엇 : #lang racket/base
(require racket/match)
(define (make-terminal-p
사용자로부터 문자열을 읽는 스칼라 프로그램을 작성하고, 재귀 적 파생 파서 또는 파서 결합자를 사용하여 입력 문자열이 아래의 문법과 일치하는지 확인합니다 (즉, a와 b), 길을 따라 파스 트리를 만드는 동안. 일치가 성공하면 생성 된 트리를 출력합니다. 문법 : S -> E$
E -> C E2
E2 -> E
E2 -> NIL
C -> 'a' | '
더 많은 파서 결합자를 사용하여 Scala Parser Combinator library을 확장 할 수 있습니까? 어쩌면 래퍼를 사용하여 확장 할 수 있습니까? 사용자 지정 동작을 사용하여 새 Parser Combinator를 추가하려고합니다. 현재 해결책은 파일 (Parsers.scala, RegexParsers.scala 및 SubSequence.sca
저는 스칼라 언어와 파서 결합자를 처음 사용합니다. 내가 작업에 일하는 및 요구 사항에 붙어있어 : 내 요구 사항은 Type 예에 대한 반복적 얻을 것입니다 : 내가 (문자열을 의미한다) 논리 연산자와 단어를 파서 만든 def logicalOperator:Parser[Operator] = "(&&|\\|\\|)".r ^^ {case op => Operato
에, 다른 형식으로 변환 나는 명제 공식이 다음 문자열을 구문 분석 : import scala.util.parsing.combinator._
class CNFParser extends JavaTokenParsers with RegexParsers {
def expr: Parser[Any] = term~rep("/\\"~term)
def