приоритет оператора зависит от переноса
От: _Claus_  
Дата: 14.02.12 15:33
Оценка:
написал макрос для проверки


[assembly: Nemerle.Internal.OperatorAttribute ("DBLib", "|>", false, 120, 121)]
[assembly: Nemerle.Internal.OperatorAttribute ("DBLib", "!>", false, 120, 121)]

[MacroUsage(MacroPhase.BeforeInheritance, MacroTargets.Method)]\
  macro Rule(typeBuilder : TypeBuilder, _ : ClassMember.Function, expr : PExpr)\
  syntax ("Rule", expr)
    _ = expr



и смотрю, что он дает для выражения:


#pragma warning disable 10005
#pragma indent
  
public class Var 

  [DBall] meth()
    5 > z
  
  Rule 5 > z && 10 > z |> r = "" |> r = "6" !> r = "5" //вар 1

  Rule 5 > z && 10 > z |> 
     r = "" |> r = "6" !> r = "5" //вар 2
  
  r : string
  s : double   
  z : int


в варианте 1 AST-рутом оказывается !> что логично.
в варианте 2 — |> . как на это реагировать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.