문제

저는 Microsoft의 새로운 M 문법에서 DSL 작업을하고 있으며 소수점 값을 허용해야합니다. 나는 십진법으로 정의했다

token digits = "0".."9";
token spot = ".";
token decimal = digits+ | digits+ spot digits+ | spot digits+;

그것은 효과가있는 것처럼 보이지만 더 좋은 방법이 있습니까? 내가 뭔가를 놓치고있는 것 같아요.

도움이 되었습니까?

해결책

많은 파기 후 나는 당신이 언어로 빌드를 사용할 수 있음을 발견했습니다 .grammar.decimal. 에서와 같이

syntax Cost = Language.Grammar.Decimal

Language.base "네임 스페이스"에는 유용한 비트도 있습니다. 언어와 언어는 모두 Intellipad에 내장되어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top