summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2015-01-20 14:57:52 +0000
committerhallgren <hallgren@chalmers.se>2015-01-20 14:57:52 +0000
commit3f3df9a71984602d2d8b0d51cbe6ae28f9f5aaaf (patch)
treec3f08a7ff158c24b3c850721280c6436f756be5c /src/server
parent1fa59f7554da452017ec2c4d133c7869566ca2de (diff)
PGF2 & PGFService: work in progress on callbacks for nerc & chunks
Diffstat (limited to 'src/server')
-rw-r--r--src/server/PGFService.hs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server/PGFService.hs b/src/server/PGFService.hs
index 2a73462ff..d610df45d 100644
--- a/src/server/PGFService.hs
+++ b/src/server/PGFService.hs
@@ -151,9 +151,14 @@ cpgfMain command (t,(pgf,pc)) =
tp (tree,prob) = makeObj ["tree".=tree,"prob".=prob]
-- Without caching parse results:
- parse' start mlimit ((_,concr),input) =
- return $
- maybe id take mlimit . drop start # C.parse concr cat input
+ parse' start mlimit ((from,concr),input) =
+ return $
+ maybe id take mlimit . drop start # cparse
+ where
+ cparse = C.parse concr cat input
+ --cparse = C.parseWithHeuristics concr cat input (-1) callbacks
+ callbacks = maybe [] cb $ lookup (C.abstractName pgf) C.literalCallbacks
+ cb fs = [(cat,f pgf (from,concr))|(cat,f)<-fs]
{-
-- Caching parse results:
parse' start mlimit ((from,concr),input) =