簡體   English   中英

scala包scala.util.automata的目的是什么?

[英]What's the purpose of the Scala package scala.util.automata?

很久以前我看到了scala.util.automata軟件包,最近在閱讀一些ScalaDoc時就摔倒了。

有沒有人在任何地方看到這個包用於什么目的?

我想知道這些類是否與解析器組合器有一些連接,或者它們是否是獨立使用的?

這些類的名稱如

class BaseBerrySethi
class DetWordAutom[T <: AnyRef]
trait Inclusion[A <: AnyRef]
class NondetWordAutom[T <: AnyRef]
class SubsetConstruction[T <: AnyRef]
class WordBerrySethi extends BaseBerrySethi 

和一個不是很有幫助的描述。

看起來他們將與Scala 2.9一起發貨。

它是有限自動機轉換的正則表達式的實現。 http://www2.in.tum.de/hp/file?fid=571 [PDF]有關創建NDFA的一種方法的示例, 請訪問http://www.scala-lang.org/api/current /scala/util/regexp/WordExp.html ,雖然沒有說明如何使用生成的自動機。 看起來自動機將通過重復調用“next”來使用,以BitSet的形式處理狀態集並通過containsFinal檢查每次以查看自動機是否已達到最終狀態。 我沒看到的是初始狀態應該表示為什么,但似乎初始狀態可能是一個空的BitSet。

這是我開始學習Scala時遇到的第一件事。 也發現了一些錯誤。 它並不是特別有用,甚至還有一些關於棄用它的討論。

它確實實現了一種相當靈活的算法,將正則表達式一直轉換為DFA,但DFA本身並不是特別靈活,iirc。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM