Subject: Spiderweb bug

From: Nick North <[email-masked]>
Date: Thu, 29 Mar 90 09:32:36 BST

We are using the adaweave generated by Spiderweb and have run into
problems with the ** operator: the ada.spider supplied generates a
weave which turns
  i := 3 ** Integer(p);
into
  $\|i\mathbin{:=}\O{3}C\\{Integer}\ (\|p); \32$
So the ** has disappeared.
The following patch solves the problem (I don't know if it is the best
solution though):

*** ada.spider.old	Wed Mar 28 11:46:50 1990
--- ada.spider	Wed Mar 28 10:04:03 1990
***************
*** 46,52 ****
  
  token => category arrow translation <"\\AR">
  token .. category binop translation <"\\.{..}">
! token ** category binop 
  token := category binop translation <"\\mathbin{:=}">
  token /= translation <"\\I"> category binop 
  token >= translation <"\\G"> category binop 
--- 46,52 ----
  
  token => category arrow translation <"\\AR">
  token .. category binop translation <"\\.{..}">
! token ** category binop translation <"\\mathbin{**}">
  token := category binop translation <"\\mathbin{:=}">
  token /= translation <"\\I"> category binop 
  token >= translation <"\\G"> category binop 

We are running the version of Spiderweb whose BUGS file ends with:
===> Bundled 11 Apr 89; all bugs into patches/003

Nick North
National Physical Laboratory, UK