fslex

    3

    1답변

    Lexer는 렉싱 중에 대괄호를 구별하고 열린 대괄호 스택을 유지하기로되어 있습니다. 이를 위해 나는이처럼 내 FSL 파일에 도우미 함수를 지정 : let updateBracketStack sign = // whenever a bracket is parsed, update the stack accordingly match sign with

    0

    1답변

    내가 fslex 및 fsyacc 및 F 번호 소스 파일 ( .fs을 사용하고 그들이 렉서 (.fsl)와 파서 생성을 참조 F 또한 lex.fs 1 # 1 "/[PROJECT-PATH-HERE]/lex.fsp ... 16 # 16 "/PROJECT-PATH-HERE]/lex.fs 17 // This is the type of tokens acce

    0

    1답변

    FSharp Lexer의 패턴에서 유니 코드 문자를 지정하는 올바른 방법은 무엇입니까? 다음 코드 은 FsLex.exe 유틸리티를 사용하여 컴파일되지 않은 : 내가 잘못 무엇 let lexeme lexbuf = LexBuffer<char>.LexemeString lexbuf ... rule tokenize = parse | ['a'-'z' 'A'-'

    1

    1답변

    FsLex와 FsYacc를 사용하여 간단한 스크립트 언어를 구문 분석하려고하는데 마이너스 연산자를 음수와 구별하는 데 문제가 있습니다. "1-2"라는 단어를 평가하면 파서는 원하는 AST : Minus(NumberLiteral(1.0),NumberLiteral(2.0))을 반환합니다. 그러나 "1-2"라는 용어를 평가하면 렉서는 숫자 1을 생성하고 숫자 -

    2

    1답변

    내 컴퓨터에서 FSlex/FSyacc에 문제가 있습니다. 문맥 상 이것은 Parallels 가상 머신에서 실행되는 Windows 8 Consumer Preview (32 비트)에서 실행되는 Visual Studio 11 베타 내에 있습니다. ------ 빌드 시작 : 프로젝트 : 기본, 구성 : 모든 CPU ------ C : \ Windows \ Micr

    2

    1답변

    Mac에서 F # PowerPack 2.0.0.0의 FsLex를 실행하는 데 문제가 있습니다. 단순히 프로그램을 실행할 때 나는 참조 : 나는 다음 $ mono /Library/Frameworks/Mono.framework/Versions/3.0.2/lib/mono/FSharpPowerPack-2.0.0.0/bin/fslex.exe Unhandled

    6

    1답변

    ocamllex 매뉴얼을 참조로 여유 시간에 Lua fslex 렉서에서 작업했습니다. 긴 문자열을 올바르게 토큰 화하는 동안 약간의 장애가 발생했습니다. "긴 문자열"은 '[' ('=')* '[' 및 ']' ('=')* ']' 토큰으로 구분됩니다. = 기호의 수가 동일해야합니다. 은 첫 번째 구현에서는, 렉서는 올바르게 인식 곳 [=[ 및 변형 반면, 가장

    3

    1답변

    나는 렉서에 매개 변수를 전달하는 것이 가능하다는 것을 알고 rule tokenize scope = parse | whitespace { tokenize scope lexbuf } | newline { newline lexbuf; tokenize scope lexbuf } 하지만 비슷한 방식으로 내 파서 시작 기호를 정

    3

    1답변

    fslex 및 fsyacc을 사용하여 작은 DSL 파서를 작성하려고합니다. 입력은 서로 다른 렉싱 규칙을 필요로하는 두 가지 다른 언어의 인터리빙 청크로 구성됩니다. 지원을 위해 내 fslex 파일을 어떻게 작성합니까? 는 (I 비슷한 경우는 C 언어에 대한하지만 서로 다른 렉싱 규칙을 필요로 인라인 어셈블리에 대한 지원과 함께 fslex 파일을 정의하는

    0

    2답변

    저는 간단한 계산을 파싱하여 lexing과 parsing (F # toolset 기반)에 대해 배우고 있습니다. lexer가 전체 문자열을 소비하지 않고 있다는 점에서 갇혀 있습니다. let lexeme = LexBuffer<_>.LexemeString // ... rule test = parse | digit+ { Console.WriteLi