From 2f65a33d9e55bd53de73389330a8c36665a98b03 Mon Sep 17 00:00:00 2001 From: Patrick Simianer
Date: Fri, 2 May 2014 18:16:17 +0200 Subject: now~l --- intersect.rb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/intersect.rb b/intersect.rb index a4b574f..41ddfd6 100644 --- a/intersect.rb +++ b/intersect.rb @@ -110,12 +110,12 @@ s = g.rules.reject { |r| r.rhs.first.class!=NonTerminal}#.reject{|r| r.lhs.sym = + + + # parse -puts "parse" -def visit i, j, sz, active_chart, passive_chart, g, input - puts "| #{i},#{j}" - # SCAN +def scan i, j, active_chart, input active_chart.at(i,j).each { |item| if item.rhs[item.dot].class == Terminal if item.rhs[item.dot].w == input[item.span.left+item.dot].w @@ -127,6 +127,16 @@ def visit i, j, sz, active_chart, passive_chart, g, input end end } +end + + +puts "parse" +def visit i, j, sz, active_chart, passive_chart, g, input + puts "| #{i},#{j}" + + # SCAN + scan i, j, active_chart, input + 1.upto(sz) { |span| break if span==(j-i) -- cgit v1.2.3