Помогите с кодов в режиме indent
От: Denom Украина  
Дата: 16.09.09 15:01
Оценка:
не получается скомпилировать следущий код
#pragma indent
using System
using System.Console
  
def SrcToDst(num:int, src:string, dst:string): string
  def sbase = src.Length
  def len = num.Length
  def dbase = dst.Length  
  def BaseToBin: int
    def BaseToBinInt(pos:int, acc: int): int
      match(pos==len)
        | true => acc
        | false => BaseToBinInt(pos+1, acc * sbase + src.IndexOf(num[pos]))
    BaseToBinInt(0, 0)
  def BinToBase(abin: int): string
    def BinToBaseInt(bin: int, acc: string): string
      match(num)
        | 0 => acc
        | _ => BinToBaseInt(bin / dbase, dst[bin % dbase].ToString() + acc) 
    BinToBaseInt(abin, dst.Length, String.Empty)      
  BinToBase(BaseToBin)

WriteLine("{0}", SrcToDst("9", "0123456789", "oF8"))
WriteLine("{0}", SrcToDst("Foo", "oF8", "0123456789"))
_ = ReadLine()

ошибки

Error    1    parse error near keyword 'def': expecting type declaration                        Main.n    5    1    
Error    2    parse error near identifier 'SrcToDst': unexpected token after type declaration    Main.n    5    5    
Error    3    parse error near identifier 'WriteLine': expecting type declaration                Main.n    23    1    
Error    4    parse error near '(...)' group: unexpected token after type declaration            Main.n    23    10    
Error    5    parse error near identifier 'WriteLine': expecting type declaration                Main.n    24    1    
Error    6    parse error near '(...)' group: unexpected token after type declaration            Main.n    24    10    
Error    7    parse error near keyword '_': expecting type declaration                          Main.n    25    1    
Error    8    parse error near operator '=': unexpected token after type declaration            Main.n    25    3    
Error    9    parse error near `{...}' group: expecting operator `='                            Main.n    10    6    
Error    10    parse error near `{...}' group: unexpected end of token sequence                Main.n    10    6    
Error    11    parse error near separator or closing bracket: expecting expression              Main.n    10    6
... << RSDN@Home 1.2.0 alpha 4 rev. 1181>>
Re: Помогите с кодов в режиме indent
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.09.09 15:21
Оценка:
Здравствуйте, Denom, Вы писали:

D>не получается скомпилировать следущий код [...]


А какая версия компилятора? У меня показываются нормальные ошибки: пропущенные параметры в функции BaseToBin, нет члена Length в num типа int, нет индексера в num, слишком много аргументов к BinToBaseInt, итд.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Помогите с кодов в режиме indent
От: Denom Украина  
Дата: 16.09.09 15:29
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>А какая версия компилятора? У меня показываются нормальные ошибки: пропущенные параметры в функции BaseToBin, нет члена Length в num типа int, нет индексера в num, слишком много аргументов к BinToBaseInt, итд.


упс: mar2008 ctp

а на какой показывается нормально?
... << RSDN@Home 1.2.0 alpha 4 rev. 1181>>
Re[2]: Помогите с кодов в режиме indent
От: Denom Украина  
Дата: 16.09.09 15:30
Оценка:
Здравствуйте, Don Reba, Вы писали:


DR>А какая версия компилятора?

игшдв 8236
... << RSDN@Home 1.2.0 alpha 4 rev. 1181>>
Re[3]: Помогите с кодов в режиме indent
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.09.09 15:38
Оценка:
Здравствуйте, Denom, Вы писали:

D>а на какой показывается нормально?


У меня билд 8336 из SVN. Правда, если нужна интеграция с VS, то возможно стоит использовать более ранний, вроде 8292. Я её не использую.
Ce n'est que pour vous dire ce que je vous dis.
Re[4]: Помогите с кодов в режиме indent
От: Denom Украина  
Дата: 16.09.09 16:54
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, Denom, Вы писали:


D>>а на какой показывается нормально?


DR>У меня билд 8336 из SVN. Правда, если нужна интеграция с VS, то возможно стоит использовать более ранний, вроде 8292. Я её не использую.


странненько — у меня дома собрано с этой-же ревизии — те-же ошибки, что я и писал


Зы А как без интеграции?
Re[4]: Помогите с кодов в режиме indent
От: Denom Украина  
Дата: 16.09.09 18:19
Оценка:
Вопрос снят
Переписал с обычным синтаксисом + поместил все в модуль а потом убрал фигурные скобки.


#pragma indent
using System;
using System.Console;
  
module test
  SrcToDst(num:string, src:string, dst:string): string
    def sbase = src.Length;
    def len = num.Length;
    def dbase = dst.Length;
    def BaseToBin(): int
      def BaseToBinInt(pos:int, acc: int): int
        match(pos==len) 
          | true => acc
          | false => BaseToBinInt(pos+1, acc * sbase + src.IndexOf(num[pos]))
      BaseToBinInt(0, 0)
    def BinToBase(abin: int): string
      def BinToBaseInt(bin: int, acc: string): string
        match(bin) 
          | 0 => acc
          | _ => BinToBaseInt(bin / dbase, dst[bin % dbase].ToString() + acc) 
      BinToBaseInt(abin, String.Empty);
    BinToBase(BaseToBin());

  Main(): void
    WriteLine("{0}", SrcToDst("9", "0123456789", "oF8"));
    WriteLine("{0}", SrcToDst("Foo", "oF8", "0123456789"));
    _ = ReadLine()


только последняя ревизия странно собирается. считает солюшен студии 2005 дефолтным
Re[5]: Помогите с кодов в режиме indent
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 17.09.09 11:07
Оценка:
D>странненько — у меня дома собрано с этой-же ревизии — те-же ошибки, что я и писал

Действительно, странно.

D>Зы А как без интеграции?


Программы состоящие из одного файла, включая твою, я собираю и запускаю из Вима через :make/F5. Вим использует ncc.exe для сборки. Для более крупных проектов пишу MSBuild скрипты.
Ce n'est que pour vous dire ce que je vous dis.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.