[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to change default outcome of shift/reduce conflict?
From: |
Hans Aberg |
Subject: |
Re: How to change default outcome of shift/reduce conflict? |
Date: |
Wed, 16 Jan 2002 20:41:22 +0100 |
Anthony DeRobertis wrote:
>Well, they have:
>
>answer
> <expr> [with <factor> [or <factor> [or <factor>]]]
>
>Now, what is a factor? I quote:
>
>"<factor> is the first fully resolvable portion of an
>expression. Factors are covered in detail in Chapter 9 of
>HyperTalk 2.2: The Book."
I plugged in this grammar into Bison, which is un-ambiguous:
%token ANSWER, WITH, STUFF
%token LP "("
%token RP ")"
%left OR
%%
answer:
ANSWER expression
| ANSWER expression WITH factor_list
factor_list:
factor
| factor_list OR factor
expression:
factor
| expression OR expression
factor:
STUFF
| "(" expression ")"
%%
(And you can exclude the rule answer -> ANSWER expression.)
Does that not capture what you want?
>This language is very weakly typed. So I don't know at parse
>time the type of a variable, or for that matter that it is a
>variable... could just be an unquoted string.
You would have to semantics on the expressions in order to be able to check
whether it is a list or something else, just as an implementation technique.
>I believe HyperCard --- the reference implementation --- uses a
>hand-written recursive descent parser. Or at least I've heard
>rumors to the effect. So I get to hold out some hope.
It is probably LL(1) then (modulo tweaks), which => LALR(1), which Bison
implements. So you should be able to get it into Bison.
Hans Aberg
- Re: How to change default outcome of shift/reduce conflict?, (continued)
- Re: How to change default outcome of shift/reduce conflict?, Anthony DeRobertis, 2002/01/14
- Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/14
- Re: How to change default outcome of shift/reduce conflict?, Anthony DeRobertis, 2002/01/14
- Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/14
- Re: How to change default outcome of shift/reduce conflict?, Anthony DeRobertis, 2002/01/15
- Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/15
- Re: How to change default outcome of shift/reduce conflict?, Anthony DeRobertis, 2002/01/15
- Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/15
- Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/15
- Re: How to change default outcome of shift/reduce conflict?, Anthony DeRobertis, 2002/01/16
- Re: How to change default outcome of shift/reduce conflict?,
Hans Aberg <=
- Re: How to change default outcome of shift/reduce conflict?, Akim Demaille, 2002/01/17
- Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/17
- Message not available
- Re: [FC-general] Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/15
- Re: [FC-general] Re: How to change default outcome of shift/reduce conflict?, Tim Van Holder, 2002/01/15
- Re: [FC-general] Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/15
- Re: How to change default outcome of shift/reduce conflict?, Akim Demaille, 2002/01/13
- Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/13
- Re: How to change default outcome of shift/reduce conflict?, Akim Demaille, 2002/01/12
Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/15
Re: How to change default outcome of shift/reduce conflict?, Hans Aberg, 2002/01/15