Nemerle Custom Operator Проблема - PullRequest
       16

Nemerle Custom Operator Проблема

3 голосов
/ 01 февраля 2011

Что бы я хотел написать в моем коде, это следующее:

c² = a² + b²

Для начала я попытался сначала создать макрос для ².Я пробовал следующее.

  macro @² (x)
syntax (x,"²")
{
 <[ 
($x * $x)

  ]>
}

Но я ожидаю ошибки идентификатора на (x) Поэтому я попытался

  macro @s (x)
syntax (x,"²")
{
 <[ 
($x * $x)

  ]>
}

Теперь я получаю ошибку Unsupported Syntax Token на "²".

Вот и спрашиваю 1. Можно ли написать Оператор ²?2. Какие синтаксические токены поддерживаются?

1 Ответ

5 голосов
/ 01 февраля 2011

В настоящее время для оператора допустимы любые символы с кодом ASCII ниже 255 и следующие символы: '=', '<', '>', '@', '^', '&', '- ',' + ',' | ',' * ',' / ',' $ ','% ','! ','? ',' ~ ','. ',': ',' # ', '\', '`', '(', ')', ';' , '[', ']'.

Мы также можем добавить «²», но, возможно, более общий подход был бы лучше.

...