summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2005-04-24 18:43:28 +0000
committerburaq <buraq@epfl.ch>2005-04-24 18:43:28 +0000
commita3fbf70b2a5fb5c068ff920dc4e887b12e3bed0e (patch)
treecf10698b95503a28cdbe16adeade1e4ccdd47544
parent379f7c1f8c88c4cb02696468fd6bdf049efa68b1 (diff)
downloadscala-a3fbf70b2a5fb5c068ff920dc4e887b12e3bed0e.tar.gz
scala-a3fbf70b2a5fb5c068ff920dc4e887b12e3bed0e.tar.bz2
scala-a3fbf70b2a5fb5c068ff920dc4e887b12e3bed0e.zip
minor cleanup
-rw-r--r--sources/scala/tools/scalac/transformer/matching/BerrySethi.scala10
-rw-r--r--sources/scala/tools/scalac/transformer/matching/BindingBerrySethi.scala7
2 files changed, 6 insertions, 11 deletions
diff --git a/sources/scala/tools/scalac/transformer/matching/BerrySethi.scala b/sources/scala/tools/scalac/transformer/matching/BerrySethi.scala
index 7bc5b32be1..2039e8c28b 100644
--- a/sources/scala/tools/scalac/transformer/matching/BerrySethi.scala
+++ b/sources/scala/tools/scalac/transformer/matching/BerrySethi.scala
@@ -234,6 +234,7 @@ class BerrySethi(val unit: CompilationUnit ) {
// starts from the right-to-left
// precondition: pos is final
// pats are successor patterns of a Sequence node
+ // returns first-set (== follow set of initial state)
def compFollow(pats: Array[Tree]): TreeSet = {
var first:TreeSet = null;
this.recVars = new HashMap();
@@ -253,13 +254,8 @@ class BerrySethi(val unit: CompilationUnit ) {
} while( i > 0 );
}
- if( null == first )
- first = new TreeSet();
- else {
- first = fol;
- }
- this.follow.put(new Integer( 0 ), first);
- return first;
+ this.follow.put(new Integer( 0 ), fol);
+ return fol;
}
var recVars: HashMap = _;
diff --git a/sources/scala/tools/scalac/transformer/matching/BindingBerrySethi.scala b/sources/scala/tools/scalac/transformer/matching/BindingBerrySethi.scala
index 8c9a49f06d..dbdc7fcc89 100644
--- a/sources/scala/tools/scalac/transformer/matching/BindingBerrySethi.scala
+++ b/sources/scala/tools/scalac/transformer/matching/BindingBerrySethi.scala
@@ -21,10 +21,13 @@ package scala.tools.scalac.transformer.matching {
class BindingBerrySethi(unit:CompilationUnit) extends BerrySethi(unit) {
+ // variables
var deltaqRev: Array[HashMap ] = _; // delta of Rev
var defaultqRev:Array[Vector] = _; // default transitions of Rev
var qbinders:Array[Vector] = _; // transitions <-> variables
+ var revnfa: NondetWordAutom = _ ;
+ var varAt: HashMap = _; // chi: Positions -> Vars (Symbol)
override def makeTransition(srcI: Integer, destI: Integer, label: Label): Unit = {
val src = srcI.intValue() ;
@@ -50,8 +53,6 @@ class BindingBerrySethi(unit:CompilationUnit) extends BerrySethi(unit) {
revArrows.add( srcI );
}
- var revnfa: NondetWordAutom = _ ;
-
override def seenLabel( pat:Tree , label:Label ): Unit = {
var i = new Integer({pos = pos + 1; pos} );
seenLabel( pat, i, label );
@@ -72,8 +73,6 @@ class BindingBerrySethi(unit:CompilationUnit) extends BerrySethi(unit) {
}
}
- var varAt: HashMap = _; // chi: Positions -> Vars (Symbol)
-
override def initialize( pats:Array[Tree] ): Unit = {
this.varAt = new HashMap(); // Xperiment
super.initialize( pats );