mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-01 23:32:51 -06:00
Lexer.x & Parser.y: add a partial parser for terms
Lexer.x: Change the parser monad type P to allow the remaining input to
be returned after a partial parse. Add function
runPartial :: P t -> String -> Either (Posn, String) (String, t)
Parser.y: Add a partial parser pTerm for nonterminal Exp1.
Re-export runPartial.
This commit is contained in:
@@ -2,9 +2,10 @@
|
||||
{
|
||||
{-# OPTIONS -fno-warn-overlapping-patterns #-}
|
||||
module GF.Grammar.Parser
|
||||
( P, runP
|
||||
( P, runP, runPartial
|
||||
, pModDef
|
||||
, pModHeader
|
||||
, pTerm
|
||||
, pExp
|
||||
, pTopDef
|
||||
, pBNFCRules
|
||||
@@ -30,6 +31,7 @@ import PGF(mkCId)
|
||||
%name pModDef ModDef
|
||||
%name pTopDef TopDef
|
||||
%partial pModHeader ModHeader
|
||||
%partial pTerm Exp1
|
||||
%name pExp Exp
|
||||
%name pBNFCRules ListCFRule
|
||||
%name pEBNFRules ListEBNFRule
|
||||
|
||||
Reference in New Issue
Block a user