/usr/share/doc/happy/TODO is in happy 1.19.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | * happyError should take the current token as an argument in %lexer mode;
it's silly not to, because it means the monad has to keep track of the
previous token in order to report it in the error message.
* BUG in error handling without %lexer: see tests/ParGF.y
* allow polymorphic type signatures for productions.
* allow omitted semnatic values, defaulting to $1?
* unlit properly
* maintain indentation in code between { } so that layout works.
-OLD-------------------------------------------------------------------------
1. Add in a simple lexical analyser
2. Add in choice for lexical analyis
%lexerstyle original -- the default
%lexerstyle auto
%lexerstyle monadic
---[1] :: [Token] -> a ---------------------------------------------------------
As things are now :-(
---[2] :: String -> a ----------------------------------------------------------
Using the special lexer, as defined using
%macro letter ( [A-Z][a-z] )
%autotoken
id ( {letter}({digit}|{letter}) )
---[3] :: ParseM Token -> ParseM a ---------------------------------------------
This presumes the exsitance of the defintions:
type ParseM a b c = a -> ParseR a b
data ParseR a b c = ParseSucc a b | ParseFail c
thenPM :: a -> ParseM a b c
returnPM :: ParseM a b c -> (a -> ParseM d b c) -> ParseM d b c ->
and is intended for *serious* parsers, like our Haskell parser.
You need to give a %eof
-----------------------------------------------------------------------------
******************************************************************************
ToAdd:
--magic-name Sad
allows other names to be used as the *Magic* name, currently
only Happy.
|