🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.implementation
Article #56

Re: YACC or hand-written? (Re: $@<0$NI>2A(J)

#56
From: Tanaka Akira
Date: Fri, 26 Sep 1997 00:00
57 lines
2423 bytes
In article <60epva$5sc$1@news.NERO.NET>,
  takikawm@cs.orst.edu (Masami Takikawa) writes:

> $B$H$O8@$(!"KM$O(B yacc $B$r;H$o$J$$$G(B parser $B$r=q$/$3$H$,B?$$$G$9!#(B
> $B<0$NI>2A$K4X$7$F8@$($P!"Nc$($P1i;;;R$,F0E*$KDj5A$G$-$k$h$&$J(B
> $B8@8l(B($BNc$($P(B Prolog)$B$@$H(B yacc $B$G$O=q$1$^$;$s$h$M(B? $B6qBNE*$K$O!"(B
> 
> + is_a_left_associative_and_its_priority_is 500;
> * is_a_left_associative_and_its_priority_is 300;
> 
> print 10+5*3;
> 
> $B$_$?$$$J8@8l$,(B yacc $B$G=q$1$k$+$H$$$&$3$H$G$9!#(B

$B$?$7$+$KIaDL$N(B yacc $B$G$O=q$1$J$$$G$7$g$&$,(B, $B@$$NCf$K$OL>A0$K(B yacc $B$H$D(B
$B$$$F$$$F$b$=!<$$$&8@8l$r07$($k$b$N$b$"$k$h$&$G$9!#(B

$B$?$H$($P(B, zyacc $B$H$$$&$b$N$G$O(B LR $BI=$N>WFM$N2r7h$r<B9T;~$K(B($B%f!<%6!<$,(B
$BG$0U$K;XDj$7$?%3!<%I$G(B)$B9T$J$($k$N$G(B, $B1i;;;R$NF0E*$JDj5A$b2DG=$G$9!#(B
http://opal.cs.binghamton.edu/~zdu/zyacc

$B$?$H$($P(B, $B%H!<%/%s$r(B ID $B0l<oN`$K$7$F$7$^$C$F1i;;;R$+$I$&$+$NH=JL$OA4It(B
$BF0E*$K$d$k$K$O$D$.$N$h$&$J$+$s$8$G5-=R$r$7$^$9!#(B

exp
  : constant
  | unary exp
    %test(prec_of($1) > prec_of(yylval))
  | exp binary exp
    %test(prec_of($2) > prec_of(yylval) || prec_of($2) == prec_of(yylval) && is_lassoc($2))
  ;

constant
  : %test(is_constant(yylval)) ID
  ;

unary
  : %test(is_unary(yylval)) ID
  ;

binary
  : %test(is_binary(yylval)) ID
  ;

$B$G(B, $B1i;;;R$NDj5A$rJQ$($?$/$J$C$?$i(B prec_of, is_lassoc, is_constant,
is_unary, is_binary $B$"$?$j$N5sF0$rI{:nMQ$GE,Ev$KJQ$($F$7$^$&$o$1$G$9!#(B

$B$^$!(B, 3$B9`1i;;;R$rDj5A$7$?$$$J$s$F$$$o$l$k$H(B, $B9=J8$r8+D>$5$J$-$c$$$1$^(B
$B$;$s$,!#(B

> (Lisp $B$b(B yacc
> $B$G=q$1$J$$$J$"(B)

$B9=J8$,%^%/%m$GDj5A$5$l$?$j(B, keyword $B$,1#$5$l$?$j$9$k$+$i(B?
-- 
[$BEDCf(B $BE/(B][$B$?$J$+(B $B$"$-$i(B][Tanaka Akira]
Technical Details
Message-ID: <rsq4t78mx0c.fsf@lss3-is27.jaist.ac.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <SHIOZAWA.97Sep24200510@epsilon.myo.inst.keio.ac.jp> <xoisout6ddx.fsf@spls87.ccs.mt.nec.co.jp> <60epva$5sc$1@news.NERO.NET>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 10692b,c35bc22acd650a0c,start
X-Google-Attributes: gid10692b,public
From: Tanaka Akira <akr@jaist.ac.jp>
Subject: Re: YACC or hand-written? (Re: $@<0$NI>2A(J)
Date: 1997/09/26
Message-ID: <rsq4t78mx0c.fsf@lss3-is27.jaist.ac.jp>
X-Deja-AN: 275710210
References: <SHIOZAWA.97Sep24200510@epsilon.myo.inst.keio.ac.jp> <xoisout6ddx.fsf@spls87.ccs.mt.nec.co.jp> <60epva$5sc$1@news.NERO.NET>
Organization: JAIST, Hokuriku; Tatsunokuchi, Nomi, Ishikawa, Japan
Newsgroups: fj.lang.implementation