Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср июл 18, 2018 23:41

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 12:22 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 519
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 22 раз.
Пока среднестатистический программист-обыватель рассуждает так (реальные цитаты в forum.sources.ru) :

И потом, форт - мёртвый язык. Уже лет 20 как.
И то что отдельные фанатики еще пытаются его продвигать - это не опровергает факта: язык мёртв и хоть какого-то значения на рынке не имеет


И тем не менее я не знаю ни одной фирмы, которая б вела коммерческую разработку софта на Форте

Может чтоб написать программку в пару сотен строк форт и годиться, а вот для реализации крупных проектов, где гигабайт сурцов, форт не годится

Если бы Форт реально рульный язык был - все б бросили плюсЫ и пиашпи и перешли бы на него.
А раз этого нет и НЕ В КАКИХ серьёзных коммерческих разработках он не используется, значит язык неудачный


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 13:33 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 844
Благодарил (а): 3 раз.
Поблагодарили: 32 раз.
Ethereal писал(а):
Пока среднестатистический программист-обыватель рассуждает так (реальные цитаты в forum.sources.ru) :]

Прикол ещё и в том, что Вызвав форму Поиска
и набрав слово Форт (Forth) получаются совершенно разные результаты вывода у Яндекс и Google.
Яндекс считает что нужно искать не по форуму (наверное нет тега данного слова в проиндексированной базе данных форума) :)
Google честно всё отрабатывает. (Гугловский translate также научился не переводить втречающийся текст Forth языка помимо комментов
проверил на данной статье Forth Still Suits Embedded Applications. Tom Napier | Nov 21, 1999 )

P.S. И почему то (встречая даже такие явные ляпы) можно сделать вывод, что дело "хомячков-программистов" живёт и побеждает. :)
У меня на том форуме есть даже регистрация и наверное ещё активна :)


Последний раз редактировалось KPG Вс авг 27, 2017 13:57, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 13:54 
Ethereal писал(а):
Пока среднестатистический программист-обыватель рассуждает так

А многие из присутствующих рассуждают сильно иначе?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 14:13 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 519
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 22 раз.
Может голосование ? А то я могу говорить только за себя и рассуждаю сильно не так.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 15:30 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6341
Благодарил (а): 14 раз.
Поблагодарили: 99 раз.
KPG писал(а):
Кем признания? И с какими "последствиями"?

Кем угодно. Если человек оперирует иллюзорными представлениями, сложно ожидать благоприятных последствий от его деятельности. Однозначно иллюзорны эмоциональные позиции - "Форт никому не нужен, так что я прав, не занимаясь им" и "Форт совершенный язык, так что я скоро стану успешным, занимаясь им". Реальность не черно-белая.
KPG писал(а):
P.S. Может начать с популяризации Форт направления?

Ну и каким же образом? Спам? Сообщения на форумах "а вы знаете, что Форт самый лучший язык"? Любая популяризация бессмысленна, если нечего популяризировать. А значит, нужны примеры завершенных работ (а не полуфабрикатов). Тогда программисты будут действовать просто по аналогии - "раз вон у них получилось в такие сроки и с такими затратами усилий добиться таких результатов, то и мы сможем". Напрасно думать, что проблема только в том, что зашоренные программисты никак не перестанут бояться стековой нотации.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 15:46 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6341
Благодарил (а): 14 раз.
Поблагодарили: 99 раз.
Ethereal писал(а):
Пока среднестатистический программист-обыватель рассуждает так (реальные цитаты в forum.sources.ru) :

Ну а зачем основываться на мнении среднестатистического программиста-обывателя? У него же опять сквозит желание "быть как все" и оценить язык эмоционально, по шкале "круто - не круто". Ну и пусть остается при своем мнении - чем больше мнений, тем лучше.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 16:07 
gudleifr писал(а):
А многие из присутствующих рассуждают сильно иначе?

Ethereal писал(а):
Среднестатистический программист-обыватель: И потом, форт - мёртвый язык.
А какой процент фортеров не считает FORTH языком?

Ethereal писал(а):
Среднестатистический программист-обыватель: И тем не менее я не знаю ни одной фирмы, которая б вела коммерческую разработку софта на Форте
А кто из фортеров готов считать FORTH-разработками создание проблемно-ориентированных интерпретаторов, а не создание FORTH-компиляторов?

Ethereal писал(а):
Среднестатистический программист-обыватель: Может чтоб написать программку в пару сотен строк форт и годиться, а вот для реализации крупных проектов, где гигабайт сурцов, форт не годится
А сколько фортеров готово отказаться от гигабайтных сурцов, особенно библиотек?

Ethereal писал(а):
Среднестатистический программист-обыватель: Если бы Форт реально рульный язык был - все б бросили плюсЫ и пиашпи и перешли бы на него.
А сколько фортеров умеют писать на Forth иначе, чем в C++-стиле? Без локальных переменных и правильной табуляции?

Не, я понес это к себе, в список дебилизмов.


Последний раз редактировалось gudleifr Вс авг 27, 2017 17:26, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 16:50 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 844
Благодарил (а): 3 раз.
Поблагодарили: 32 раз.
_KROL писал(а):
Ну да, по gforth я даже документации особо не нашёл. Просто запустил на моём андроиде, ввёл Words, может чё повводил и плюнул :)
А 8th бесплатный?

gforth можно найти online, например на https://ideone.com как один из языков.

P.S. Words отобразил :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 18:19 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 344
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
Код:
words

Output:
Цитата:
mov-regv-Iv mov-reg8-Ib xchg-ax jcc-short conditions pop-reg push-reg
set-add-likes set-add-like set-noarg rAX,Iz AL,Ib Gv,Ev Gb,Eb Ev,Gv
Eb,Gb Iv Jz Iz immz Jb Ib Ev Ed Eb Ext mem-modRM mem-SIB
print-base base-regnum masksx displacement-info Ox Gv .width*2
.width/2 .width .regv Sw Gb Gnum .invalid .sreg .reg64 .reg32
.reg16 .reg8 .regn dec.- sreg-names reg16-names reg8-names-norex
reg8-names address-size-disasm operand-size-disasm immediate-prefix
rex-prefix-disasm repeat-prefix-disasm illegal-inst print-rep disasm
disasm-addr disasm-addr1 def-opcode1 opcode1-table clear-prefixes
rex-prefix repeat-prefix address-size operand-size string-table
save-mem-here cell-fill th c@+ dffield: sffield: ffield: 2field:
field: cfield: end-structure begin-structure +field init-libcc
end-c-library c-library c-library-name c-library-incomplete clear-libs
c-function c-function-rt c-function-ft link-wrapper-function
compile-wrapper-function1 compile-wrapper-function .lib-error
c-source-file-execute notype-execute c-source-file init-c-source-file
lib-handle c-tmp-library-name c-named-library-name c-library-name-create
c-library-name-setup open-wrappers prepend-dirname libcc-tmp-dir
libcc-named-dir gen-filename basename dirname scan-back
gen-wrapper-function wrapper-function-name gen-wrapped-stmt
gen-wrapped-types gen-wrapped-func gen-wrapped-r gen-wrapped-d
gen-wrapped-a gen-wrapped-n gen-wrapped-void gen-wrapped-call gen-par
gen-par-types gen-par-void gen-par-func gen-par-r gen-par-d gen-par-a
gen-par-n count-stacks count-stacks-types count-stacks-void
count-stacks-func count-stacks-r count-stacks-d count-stacks-a
count-stacks-n type-letter parse-function-types parse-libcc-type
libcc-types \c save-c-prefix-line print-c-prefix-lines
print-c-prefix-line c-prefix-lines-end c-prefix-lines c-prefix%
c-prefix-chars c-prefix-count add-libpath append-l add-lib c-libs
c-lib% c-lib-string list-map list-append list-insert list% list-payload
list-next append s+ front-char front-string const+ .nb replace-rpath
libcc-path libcc-named-dir-v lib-modulename lib-filename lib-handle-addr
c-source-file-id cff% cff-ptypes cff-np cff-rtype cff-lha cff-deferred
cff-cfr mkdir-parents disasm-gdb check-gdb-syntax #comma
gdb-addr-sep-char append-extend-string end-code ;code (;code) code
init-asm assembler break" (break") break: (break:) break:, dbg
(debug) (_debug) D-KEY Unnest Nesting nestXT nestXT-checkSpecial Body
restore-bp set-bp DT BP breaker breaker-size DebugLoop jump get-next
disp-step Leave-D NoFine d.s .n scanword restore-see-flags
save-see-flags dbg-ip see-code see-code-range see-code-next-inline
simple-see simple-see-range simple-see-word print-backtrace
print-bt-entry backtrace-return-stack init-backtrace backtrace-rs-buffer
adjust-buffer init-buffer buffer% buffer-maxlength buffer-address
buffer-length buffer-descriptor c-extend1 c-lp+!# c-laddr# c-f@local#
c-flit c-@local# c-branch-lp+!# c-?branch-lp+!# c-loop-lp+!# see
name-see (.immediate) (xt-see-xt) xt-see seefield seecol seedoes
see-threaded seedefer seevalue seecon seeuser seevar seecode next-prim
next-head discode .defname xt-see-xt makepass c-init analyse BranchTo?
DoTable c-extender C-Table c-(compile) c-does> c-abort" c-exit c-?do
c-do c-loop c-for c-?branch DebugBranch c-branch RepeatCheck Forward?
c-string? c-c" .name-without c-lit+ c-lit c-callxt c-call .word back?
Debug? Display? Scan? DebugMode DisplayMode ScanMode C-Pass NoOutput
Branch! Type! ,Branch CheckWhile MyBranch CheckEnd MoreBranchAddr?
BranchAddr? (BranchAddr?) FirstBranch MaxTable BranchTable SearchPointer
BranchPointer Branches C-Stop LeaveCode Disable WhileCode2 AheadCode
ElseCode UntilCode AgainCode RepeatCode .struc c-\type (.string)
.string cemit ctype warp? (nl) nl nlcount uppercase nlflag level-
level+ Format Level YPos XPos C-Clearline C-Highlight C-Formated
C-Output .\" s\" \"-parse \-escape \-escape-table parse-num
parse-num-x char/ ekey? ekey>fkey ekey>char ekey clear-ekey-buffer
esc-sequence esc-prefix ekey-buffered ekey-buffer esc-sequences unkeys
unkey char-append-buffer key-buffered key-buffer s-k12 s-k11 s-k10
s-k9 s-k8 s-k7 s-k6 s-k5 s-k4 s-k3 s-k2 s-k1 k12 k11 k10 k9 k8
k7 k6 k5 k4 k3 k2 k1 k-f12 k-f11 k-f10 k-f9 k-f8 k-f7 k-f6 k-f5
k-f4 k-f3 k-f2 k-f1 k-delete k-insert k-next k-prior k-end k-home
k-down k-up k-right k-left k-alt-mask k-ctrl-mask k-shift-mask keycode
table tablesearch-map table-find savesystem dump-fi
update-image-included-files delete-prefix save-mem-dict <compilation
compilation> (compilation>1) <interpretation interpretation>
(interpretation>1) fix-does-code create-interpret/compile
no-interpretation-does-code no-compilation-does-code bye block-included
--> +thru +load thru load block-input list updated? scr buffer
block get-buffer flush empty-buffers save-buffers empty-buffer
save-buffer update block-position get-block-fid use open-blocks
flush-blocks block-cold offset block-offset block-fid block-limit
buffers last-block block-buffers buffer-struct next-buffer block-buffer
buffer-dirty buffer-fid buffer-block ) (end-assert) assert( assert3(
assert2( assert1( assert0( assertn assert-level ~~ .debugline-stderr
(.debugline) .debugline printdebugdata .sourcepos compile-sourcepos
current-sourcepos str>loadfilename# loadfilename#>str vt100-decode tcode
trans: transcode translate history-cold get-history xchar-history
xtab-expand insert xkill-expand (xenter) xclear-tib xclear-line
xend-pos xfirst-pos xeof <xdel> ?xdel (xdel) xforw xback (xins)
<xins> xretype .all .rest xback-restore xcur-correct at-deltaxy #esc
kill-prefix tib-full? search-prefix prefix-string prefix-off search-voc
word-lex capscomp sgn prefix-found extract-word (enter) prev-line
find-prev-line next-line get-line hist-setpos hist-pos clear-line
linew-off screenw linew cur-correct back-restore history-file
force-open end^ backward^ forward^ history bindkey >string ctrl
ctrl-i utf-8-cold set-encoding-utf-8 u8width -u8trailing-garbage
u8addrlen u8!+? u8@ u8\string- +u8/string u8emit u8key check-xy u8<<
u8>> u8!+ u8@+ u8len max-single-byte UTF-8-err O-PNT@ O-DEINIT O-INIT
TypeXT EmitXT O-EMIT O-TYPE O-PNT O-Buffer page at-xy ESC[ ;pn pn
WordInfo InfoTable Com# Str# Ali# Use# Col# Def# Doe# Val# Var#
Con# Pri# prim? xtprim? colon? defered? does? user? con? var?
alias? >head >name threaded>name look prim>name PrimStart threaded>xt
search-name xt>threaded base-execute infile-execute outfile-execute l@
w@ /l /w typewhite what's action-of f.s f.rdp f>str-rdp f>buf-rdp
f>buf-rdp-try push-right ]] postponer1 [[ compile-compile-2literal
compile-2literal compile-compile-literal compile-literal slurp-fid
slurp-file const-does> (const-does>) compile-fliterals compile-literals
in-return-stack? ]L sh system $? dmax dmin ?CSP !CSP CSP needs
locals| TO definer! >definer (local) (exit-like) (until-like)
(again-like) (begin-like) (then-like) locals-;-hook locals-:-hook
endscope adjust-locals-list scope { old-dpp new-locals-wl
new-locals-map new-locals-reveal new-locals-find some-wlocal some-flocal
some-dlocal some-clocal locals-types lp-offset, lp-offset create-local
compile-pushlocal-c compile-pushlocal-d compile-pushlocal-f check-begin
set-locals-size-list list-size sub-list? common-list compile-pushlocal-w
alignlp-f alignlp-w locals-dp locals-buffer locals adjust-locals-size
compile-lp+! compile-f@local compile-@local FMOD FTRUNC f~ f~rel f~abs
1/f f2/ f2* pi fvariable sfnumber fs. fe. f. f$ -zeros zeros
scratch set-precision precision FLiteral fdepth fconstant f, dfloat+
sfloat+ dfalign sfalign .words hash-cold make-hash (hashsearch-map)
hashdouble (rehash) rehashall clearhash addall inithash hash-reveal
(reveal lastlink! hash-find bucket NewFix DelFix hash-alloc
hashsearch-map HashTable HashPop HashIndex HashPointer revealed insRule
hash Hashlen hashbits reserve-mem marker marker! marker,
included-files-mark expect span search blank erase convert [compile]
C" endcase endof of case m*/ d>s .( broken-pipe-error exception
next-exception errstring linked include-ffi.h-string libffi-present
ffcall-present libtool-flags libtool-cc libtool-command has? $has? e?
environment? environment-wordlist environment vocs order .voc .name
.id id. seal set-order get-order init-vp update-image-order Only Root
Forth vocsearch (localsvocfind) locals-wordlist (vocfind) previous also
>order check-maxvp Vocabulary wordlist mappedwordlist slowvoc
definitions vp! set-current get-current vp maxvp-limit maxvp %alloc
%allocate %allot %align %size %alignment double% sfloat% dfloat%
float% char% cell% struct end-struct field create-field field,
dozerofield nalign naligned endtry-iferror endtry restore iferror
handler-intro, (endtry) try (try) nothrow first-throw store-backtrace
dodoes: dofield: dodefer: douser: dovar: docol: dovalue: docon: vlist
words wordlist-words cols rows ? dump .line .chars .4 /dump .s
maxdepth-.s [WHILE] [AGAIN] [REPEAT] [UNTIL] [BEGIN] [I] [NEXT] [FOR]
[LOOP] [+LOOP] [?DO] [DO] (i) [ENDIF] [THEN] [ELSE] [IFUNDEF]
[IFDEF] [IF] [undefined] defined [defined] ?if [struct]-voc
[struct]-search scanIF >exec dummy countif ." S" abort" SLiteral
CLiteral ?EXIT EXIT exit-like NEXT S+LOOP -LOOP +LOOP LOOP loop-like
FOR U-DO -DO U+DO +DO ?DO ?do-like DO ?LEAVE LEAVE DONE leave>
>leave clear-leave-stack leave-sp leave-stack leave-stack-size REPEAT
WHILE UNTIL until-like AGAIN again-like BEGIN begin-like ELSE ENDIF
THEN cs>addr then-like ?DUP-0=-IF ?DUP-IF IF AHEAD YET BUT <resolve
>resolve >mark sys? ?struc other-control-flow cs-push-orig cs-push-part
CS-ROLL CS-PICK cs-item-size cs-item? non-orig? scope? do-dest? dest?
orig? def? scopestart do-dest dest dead-orig live-orig ASSUME-LIVE
UNREACHABLE backedge-locals dead-code locals-list .included .strings
require include required included included1 add-included-file included?
init-included-files sourceline# sourcefilename image-included-files
included-files open-fpath-file open-path-file check-path open-ofile
reworkdir compact-filename skip-..-prefixes preserve-root del-./s
del-string expandtopic remove~+ extractpath need/ pathsep? tfile ofile
absolut-path? .fpath .path previous-path next-path path>string fpath=
path= fpath+ path+ only-path clear-path also-path os-cold make-path
fpath +place path-allot ( write-line bin r/o r/w w/o os-boot
(process-args) process-option args-evaluate args-required args-required1
os-execute-parsing next-arg shift-args script? argc argv pathdirs
pathstring #! arg cstring>sstring set-encoding-fixed-width c-size c!+?
string- +string char- xhold x@+/string -trailing-garbage x-width
x-size xc-size xc@+ xc!+? xc@ x\string- +x/string xchar- xchar+ xkey
xemit license include-file execute-parsing-file
execute-parsing-named-file read-loop line-end-hook query clear-tibstack
evaluate execute-parsing execute-parsing-wrapper create-input
restore-input save-input pop-file push-file expand-tib new-tib
file-input read-line evaluate-input terminal-input input-start-line
input-lexeme! tib+ tib loadfilename #fill-bytes blk loadfile loadline
old-input max#tib #tib input-lexeme >in (restore-input) (save-input)
source-id refill source input-var input-method accept edit-line decode
everyline everychar insert-char ctrlkeys (ret) (bs) (ins) recursive
rehash reveal check-shadow (reveal) warnings last? ; :noname :
(:noname) defstart ;-hook :-hook interpret/compile? TO IS [IS] <IS>
defer! DOES> Defers defer@ Defer defer-default interpret/compile:
interpret/compile-struct interpret/compile-comp interpret/compile-int
(Field) 2Constant AValue Value AConstant Constant (Value) (Constant)
AUser User uallot 2Variable AVariable Variable Create Alias
compile-only restrict immediate lastflags ctoggle creset cset ," mem,
S, ] [ compiler1 recurse POSTPONE postpone, [COMP'] COMP' ['] [(')]
name>comp (compile) dodoes, (does>2) (does>) !does compile-to-prims,
peephole-compile, basic-block-end compile, cfa, [char] char char@
ALiteral 2Literal Literal latest lastxt latestxt noname noname-header
nextname nextname-header nextname-string input-stream input-stream-header
header, longstring, string, header (header) const A, cfalign maxalign
falign align 2, , c, allot bye boot cold 'cold process-args
bootmessage (bootmessage) quit (DoError) .error-frame .error-line
part-type mark-end mark-start umin .error-string dobacktrace DOERROR
-trailing hex. dec.r dec. input-error-data >error error> error-stack
/error max-errors (quit) prompt .status 'quit extend-mem free-mem-var
save-mem interpreter1 interpret interpret1 before-word no.extensions
interpreter-notfound1 compiler-notfound1 name parse-word parse-name
parser parser1 ' (') find sfind /does-handler does-handler!
does-code! code-address! flashc! flash! >does-code >code-address body>
>body >head-noprim head? ??? (name>intn) (name>comp) name?int name>int
(name>x) ((name>)) name>string (x>int) (cfa>int) compile-only-error
ticking-compile-only-error flag-sign lcount-mask restrict-mask
immediate-mask alias-mask find-name search-wordlist (search-wordlist)
context voclink current lookup forth-wordlist f83search initvoc
f83find wordlist-struct wordlist-extend wordlist-link wordlist-id
wordlist-map wordlist-map-struct hash-method rehash-method reveal-method
find-method \G \ ( number number? snumber? s>number s>number?
s>unumber? s'>unumber? ?dnegate sign? getbase bases name-too-long?
name-too-short? (name) parse word sword (word) version-string .error
>stderr ErrLink u. . ud. d. u.r .r ud.r d.r #s # sign #>> <<#
#> <# hold pad backspaces spaces space cr bell #lf #ff #cr #del
#tab #bs #bell #eof (S") (.") key? key emit type (key?) (key)
(emit) (type) infile-id outfile-id hex decimal "lit clearstacks
clearstack depth ?stack abort (abort") c(abort") throw catch lp@
ud/mod s>d >number accumulate digit? skip scan bounds place roll
dabs off on here dp in-dictionary? unused usable-dictionary-end
dictionary-end A! chars cfaligned maxaligned r@ NIL str<
string-prefix? str= locals-size max-name-length Last LastCFA dpp
normal-dp state dpl base includefilename current-input "error
errorhandler backtrace-rp0 handler lp0 fp0 rp0 sp0 save-task
prev-task next-task udp main-task def#tib pad-minsize holdend holdptr
holdbuf-end holdbuf word-pno-size chars/block l/s c/l /line bl float
cell false true forthstart image-header tag-offsets call2
set-next-code decompile-prim forget-dyncode finish-code compile-prim1
lib-error l! sl@ ul@ w! sw@ uw@ wcall lib-sym open-lib fpick f>l
>l lp! lp+2 lp+ lp- lp+!# laddr# f@local1 f@local0 f@local# @local3
@local2 @local1 @local0 @local# faxpy v* dfaligned sfaligned dfloats
sfloats fatanh facosh fasinh ftanh fcosh fsinh ftan fsqrt fsincos
fsin falog flog flnp1 fln fexpm1 fexp fcos fatan2 fatan fasin
facos fabs >float represent fmin fmax fround floor floats float+
ftuck fnip frot fover fswap fdup fdrop fnegate f**2 fm*/ fm/ fm*
f** f/ f* f- f+ sf! sf@ df! df@ f@ f! f>s f>d d>f s>f f0>=
f0<= f0> f0< f0<> f0= f>= f<= f> f< f<> f= cputime utime newline
=mkdir get-dir set-dir filename-match close-dir read-dir open-dir
file-eof? file-status flush-file emit-file write-file (read-line)
read-file resize-file file-size reposition-file file-position
rename-file delete-file create-file open-file close-file call-c
strsignal strerror resize free allocate ms time&date close-pipe
open-pipe getenv (system) (bye) flush-icache wcwidth form stderr
stdout stdin key?-file key-file threading-method faligned aligned
(parse-white) (hashkey1) (tablelfind) (hashlfind) (listlfind) count
(chars) char+ cells cell+ 2@ 2! c! c@ +! ! lit@ @ 2tuck 2nip
2rot 2swap 2over 2dup 2drop pick ?dup tuck nip -rot rot dup swap
drop over 2rdrop 2r@ 2r> 2>r rdrop r> >r fp! fp@ rp! rp@ sp!
sp@ up! useraddr within du>= du<= du> du< du<> du= d0>= d0<= d0>
d0< d0<> d0= d>= d<= d> d< d<> d= u>= u<= u> u< u<> u= >= <=
> < <> = 0>= 0<= 0> 0< 0<> 0= lshift rshift invert xor or and
d2/ d2* dnegate d- d+ m+ um/mod um* m* sm/rem fm/mod 2/ 2* */
*/mod /mod mod / * abs min max 1- 1+ negate - under+ lit+ +
lit /string capscompare toupper compare fill cmove> cmove move k j
i' i (u-do) (-do) (u+do) (+do) (?do) (do) (for) (s+loop)-lp+!#
(s+loop) (-loop)-lp+!# (-loop) (+loop)-lp+!# (+loop) (loop)-lp+!#
(loop) (next)-lp+!# (next) ?dup-0=-?branch ?dup-?branch ?branch-lp+!#
?branch branch branch-lp+!# does-exec lit-perform unloop ;s perform
execute call noop

Остаётся вопрос: для чего это?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 18:40 
_KROL писал(а):
Остаётся вопрос: для чего это?

Не "зачем?", а "почему?". Потому, что до этого места все очень просто, а после него - очень сложно.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 20:56 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 844
Благодарил (а): 3 раз.
Поблагодарили: 32 раз.
_KROL писал(а):
Остаётся вопрос: для чего это?

Пока не препарируешь Форт-систему, не поймёшь. :)

P.S. А дальше по обстоятельствам.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 21:03 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 519
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 22 раз.
gudleifr писал(а):
А сколько фортеров умеют писать на Forth иначе, чем в C++-стиле? Без локальных переменных и правильной табуляции?
Ну я пишу без локальных переменных. Правда, вот сейчас пытаюсь накатать компилятор Оберон и мне потребовалась локальная запись в рекурсивно вызываемой подпрограмме. Ну чтобы на каждом рекурсивном вложении запись была своя. Ай, сделал морду клином, написал два примитива
Код:
: LOCAL-ALLOC ( n -- addr ) 1-  -4 AND SP@ SWAP - SP! SP@ ; \ на пустой стек
: LOCAL-FREE  ( n --      ) 7 + -4 AND SP@ +      SP!     ; \  в определении
и намана. Вот и все локали. Вот примерно так :
Код:
\ простое_выражение = [+|-]терм{+терм|-терм| OR терм}
: SimpleExpression
  ( item -- )
  >R ItemLen LOCAL-ALLOC
...
  R> 2DROP ItemLen LOCAL-FREE
;
Короче, я сделал по сути уложение на стек данных не ячейки, а целой записи и следом указателя на нее. При рекурсивном вызове самой себя параметром передается указатель, подпрограмма перекидывает его на >R укладывает на стек собственную запись и указатель на нее. И т.д. А как сделать без этого, не выделяя динамически память средствами OC, я не придумал.

А без правильной табуляции даже IF ELSE THEN выглядит хреново.

А вообще все вопросы про "сколько фортеров ?" требуют знания статистики. Ответить можно только за самого себя.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 22:13 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 519
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 22 раз.
А вообще тут форум фортеров-единомышленников или как ?

А то послушать Gudleifr и одно из двух :
- Признать, что только он один умеет писать на Форте и разойтись посыпая голову пеплом
- Признать, что все пропало, Форт помер и пора уже забыть покойника


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 22:34 
Не в сети

Зарегистрирован: Пн ноя 05, 2007 13:54
Сообщения: 135
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Ethereal писал(а):
А вообще тут форум фортеров-единомышленников или как ?


Вот это очень хороший вопрос. Я знаком лично со многими нашими выдающимися фортерами и могу заверить, что это люди очень располагающие и доброжелательные в общении. Но вот "интернетные" фортеры здесь на форуме -- дело иное. Склочность и непрофессионализм, некомпетентность идут тут рука об руку.

Кстати, советую повременить с реализацией Оберона на Форте до публикации статьи С.Н. Баранова на тему синт. анализаторов в рамках нынешней конференции EuroForth.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Как вы себе представляете будующюю Форт ОС?
СообщениеДобавлено: Вс авг 27, 2017 22:41 
Ethereal писал(а):
А то послушать Gudleifr и одно из двух :
- Признать, что только он один умеет писать на Форте и разойтись посыпая голову пеплом
- Признать, что все пропало, Форт помер и пора уже забыть покойника
Не надо меня слушать. Можно просто посмотреть на Форум. Что мы тут имеем по сабжу? Каждая тема начинается с "давайте сделаем" и заканчивается "арией лесника": "Сначала делалку отрастите, неудачники и дармоеды!"


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB