Re: [Bug-apl] Assertion failure in setup_one_lambda

2018-10-01 Thread Juergen Sauermann

  
  
Hi Kacper,
  
  thanks, fixed in SVN 1082.
  
  /// Jürgen
  

On 10/01/2018 01:48 AM, Kacper Gutowski
  wrote:


  Hi,
Tokenizer fails to catch unbalanced brackets when input is just "{⋄}"
which triggers assertion in setup_one_lambda:

  {⋄}

==
Assertion failed: bend < body.size()
in Function:  setup_one_lambda
in file:  Executable.cc:546

Call stack:


-- Stack trace at Executable.cc:546

0x7FAF829C4B17 __libc_start_main
0x563003451715  main
0x5630035BE83D   Workspace::immediate_execution(bool)
0x5630034A2121Command::process_line()
0x5630034A2910 Command::do_APL_expression(UCS_string&)
0x5630034B1A91  StatementList::fix(UCS_string const&, char const*)
0x5630034B1686   Executable::setup_lambdas()
0x5630034B153BExecutable::setup_one_lambda(long, int)
0x563003464BBA do_Assert(char const*, char const*, char const*, int)


SI stack:


==
*** Command::process_line() caught other exception ***

Goodbye.

-k





  




signature.asc
Description: OpenPGP digital signature


Re: [Bug-apl] bad character in execute+

2018-10-01 Thread Juergen Sauermann
Hi Kacper,

thanks, fixed in *SVN 1082*.

/// Jürgen



On 10/01/2018 01:11 AM, Kacper Gutowski wrote:
> On Sun, Sep 30, 2018 at 03:42:53PM -0600, Nathan Rogers wrote:
>> When using the diamond operator, the repl returns "bad character in
>> execute+"
>>
>> simple example: \
>> {1:2◊3}
>>  Bad char in execute+
> Lambda syntax in GNU APL isn't compatible with Dyalog's, and you can't
> use diamond within it.  But the diamond here is a red herring.
> It's the colon that causes the error before getting to the diamond:
>
>   :
> Bad char in execute+
>   {1⋄2}
> Unbalanced curly bracket+
>
> It more-or-less works as expected.  The former is because : is not a
> valid token outside of defined functions where it is used for labels.
> The later is because it's interpreted as two separate statements split
> by diamond.
>
> I think the )MORE messages for parse errors could be improved, though.
> Now it just repeats "Bad char in execute".  It would be more informative
> to say which character is the offending one.
>
> -k
>
>




signature.asc
Description: OpenPGP digital signature