File: LValue.g

package info (click to toggle)
frown 0.6.1-14
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 9,956 kB
  • ctags: 271
  • sloc: haskell: 35,132; makefile: 228; csh: 35; yacc: 23
file content (31 lines) | stat: -rw-r--r-- 597 bytes parent folder | download | duplicates (6)
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
{-

This grammar is LALR(1) but not SLR(1) (see dragon book p229).

	frown --debug LValue.g

-}

module LValue
where

type Result                   =  Maybe

%{

Terminal                      =  Eq | Star | Id;
Nonterminal                   =  stat | lvalue | rvalue;

stat                          :  lvalue, Eq, rvalue;
                              |  rvalue;

lvalue                        :  Star, rvalue;
                              |  Id;

rvalue                        :  lvalue;

}%

data Terminal                 =  Eq | Star | Id

frown _                       =  fail "syntax error"