QSPFoundation / Qsp.FSharp

QSP ecosystem written in F# environment. Contains: language core (AST, parser, printer), language server (LSP) and CLI utility for manipulating language sources.
4 stars 1 forks source link

test(core/lint): add tests for semantic errors #48

Open gretmn102 opened 2 months ago

gretmn102 commented 2 months ago
# begin
  ! Функция не определена
  notDefinedFunction()
  ! Процедура не определена
  notDefinedProcedure arg1

  ! лишний end
  end

  ! Нельзя переопределять функцию
  func = 1
  ! Нельзя переопределять процедуру
  savegame = 1

  ! Перегрузка функций

  rand(arg1) &! норм

  ! Ожидается одна из перегрузок:
  ! rand(numeric, numeric): numeric
  ! rand(numeric): numeric
  rand

  ! Ожидается одна из перегрузок:
  ! rand(numeric, numeric): numeric
  ! rand(numeric): numeric
  rand(arg1, arg2, arg3)

  ! Перегрузка процедур

  delact(arg1) &! норм

  ! Ожидается одна из перегрузок:
  ! delact(string)
  delact

  ! Ожидается одна из перегрузок:
  ! delact(string)
  delact(arg1, redundantArg2)

  ! Ожидается одна из перегрузок:
  ! killvar(string, numeric)
  ! killvar(string)
  ! killvar()
  killvar(arg1, arg2, redundantArg3)
-

# begin

-