Код:
; Кирилл Дубейко
;
; (С) 1997-2012 Все права защищены
;
; Purebasic синтаксис
Global Dim Params.s(19)
Global par.w
Procedure ShellCommandCallBack(Variable$,Function$)
Debug "Переменная (Variable) = " + Variable$
Debug "Процедура (Procedure) = " + Function$
Debug "Кол-во Параметров (num parameters) = " + Str(par)
For i=1 To par
Debug "Параметр "+Str(i)+" = "+Params(i)
Next
EndProcedure
Procedure ShellCommand(Command$)
par=1
function$=""
kv.b=0
For i=1 To Len(Command$)
b$=Mid(Command$,i,1)
If b$="(" And function$=""
function$=s$
s$=""
ElseIf b$=")" And function$=""
ProcedureReturn 1
ElseIf (b$="=" Or b$="+") And function$="" And variable$=""
variable$=s$
s$=""
ElseIf b$="=" And function$="" And variable$=""
variable$=s$
s$=""
ElseIf (b$="," Or b$=")") And kv=0 And function$
;Debug s$ + " => "+Str(par)
Params(par)=s$
par=par+1
s$=""
ElseIf b$=Chr(34); Or b$=Chr(39) ; Игнорирование примеров с "Hello,World!" , тоесть запятой в ковычках
kv=1-kv ; Если KV=1 то сделать его 0 , если равно 0 то сделать его 1
s$+b$ ; тут момент,когда ковычки включаются в строку(если надо)
Else
s$+b$
EndIf
Next
par-1
ShellCommandCallBack(LTrim(RTrim(variable$)),LTrim(RTrim(function$)))
EndProcedure
Commande$="result$ = InputRequester(Title$,Message$,"+Chr(34)+"Default,or text"+Chr(34)+")" ; Выглядит так result$=InputRequester(Title$,Message$,"Default,or text")
r=ShellCommand(Commande$)
If r=0
Debug ""
Debug "Процедура составлена синтексически верно"
Debug "Worked source! :-)"
Else
Debug ""
Debug "В тексте есть ошибка №"+Str(r)
EndIfЭто пример можно использовать как начало для создания языка скриптов, с синтаксисом Basic
нормас