[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] symbolic names
From: |
Alex Rozenman |
Subject: |
[PATCH] symbolic names |
Date: |
Mon, 30 Mar 2009 00:09:01 +0300 |
Hi Akim, Joel.
A new version is attached. I just implemented most of the proposals from our
previous thread. You can also see fragments of bison output messages below.
Meanwhile, I added some tests to the suite, but we'll need much more testing
- there are tens possible combinations of this stuff. You are welcome to try
it :)
(ordinary ambiguity)
if_stmt1: IF expr[cond] THEN stmt ELSE stmt FI
{ $if_stmt1 = new IfStmt($cond, $stmt, $stmt); };
interpreter.ypp:79.44-48: reference is ambiguous: `$stmt'
interpreter.ypp:78.30-33: refers to: $stmt at $4
interpreter.ypp:78.40-43: refers to: $stmt at $6
interpreter.ypp:79.51-55: reference is ambiguous: `$stmt'
interpreter.ypp:78.30-33: refers to: $stmt at $4
interpreter.ypp:78.40-43: refers to: $stmt at $6
(former "assymetric renaming")
if_stmt1: IF expr[cond] THEN stmt[then] ELSE stmt[else] FI
{ $if_stmt1 = new IfStmt($cond, $then, $stmt); };
interpreter.ypp:79.51-55: reference is misleading: `$stmt'
interpreter.ypp:78.30-33: possibly meant: $stmt at $4, symbol hidden
interpreter.ypp:78.46-49: possibly meant: $stmt at $6, symbol hidden
(reference to a symbol with dots)
if_stmt: IF expr[cond] THEN stmt.list FI
{ $if_stmt = new IfStmt($cond, $stmt.list, 0); };
interpreter.ypp:76.43-52: reference not found: `$stmt.list'
interpreter.ypp:75.29-37: possibly meant: $[stmt.list] at $4
(refernce to a field)
if_stmt: IF expr[cond] THEN stmt FI
{ $if_stmt = new IfStmt($cond, $stmt.list, 0); };
<no errors>
(reference to a symbol with dots and a field)
if_stmt: IF expr[cond] THEN stmt.list FI
{ $if_stmt = new IfStmt($cond, $stmt.list.f1, 0); };
interpreter.ypp:76.43-55: reference not found: `$stmt.list.f1'
interpreter.ypp:75.29-37: possibly meant: $[stmt.list].f1 at $4
(bracketed syntax for a symbol with dots)
if_stmt: IF expr[cond] THEN stmt.list FI
{ $if_stmt = new IfStmt($cond, $[stmt.list].f1, 0); };
<no errors>
(access from mid-rule action)
if_stmt: IF expr[cond] THEN { $if_stmt = $then; } stmt.list[then] ELSE
stmt.list[else] FI
{ $if_stmt = new IfStmt($cond, $then, $else); };
interpreter.ypp:78.31-38: reference not found: `$if_stmt'
interpreter.ypp:78.10-79.49: possibly meant: $if_stmt at $$, cannot be
accessed from mid-rule action at $4
interpreter.ypp:78.42-46: reference not found: `$then'
interpreter.ypp:78.61-64: possibly meant: $then at $5, cannot be accessed
from mid-rule action at $4
(ordinary "not found")
if_stmt1: IF expr[cond] THEN stmt[then] ELSE stmt[else] FI
{ $if_stmt1 = new IfStmt($cond1, $[then], $else); };
interpreter.ypp:82.37-42: reference not found: `$cond1'
--
Best regards,
Alex Rozenman (address@hidden).
0001-2009-03-29-Alex-Rozenman-rozenman-gmail.com.patch
Description: Text Data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] symbolic names,
Alex Rozenman <=