- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
static F1(jtdrr){PROLOG(0055);A df,dg,hs,*x,z;B b,ex,xop;C c,id;I fl,*hv,m;V*v;
RZ(w);
// If the input is a name, it must be from ".@'name' which turned into ".@(name+noun) - or in debug, but that's discarded
if(AT(w)&NAME){RZ(w=sfn(0,w));}
// If noun, return the value of the noun.
if(AT(w)&NOUN)R w; // no quotes needed
// Non-nouns and NMDOT names carry on
v=FAV(w); id=v->id; fl=v->flag;
I fndx=(id==CBDOT)&&!v->fgh[0]; A fs=v->fgh[fndx]; A gs=v->fgh[fndx^1]; // In verb for m b., if f is empty look to g for the left arg. It would be nice to be more general
hs=v->fgh[2]; if(id==CBOX)gs=0; // ignore gs field in BOX, there to simulate BOXATOP
if(fl&VXOPCALL)R drr(hs);
xop=1&&VXOP&fl; ex=id==CCOLON&&hs&&!xop;
b=id==CHOOK||id==CADVF; c=id==CFORK;
m=!!fs+(gs||ex);
if(!m)R spella(w);
if(evoke(w))R drr(sfne(w)); // turn nameref into string or verb; then take rep
if(fs)RZ(df=fl&VGERL?every(fxeach(fs),0L,jtdrr):drr(fs));
if(gs)RZ(dg=fl&VGERR?every(fxeach(gs),0L,jtdrr):drr(gs));
if(ex)RZ(dg=unparsem(num[0],w));
m+=!b&&!xop||hs&&xop;
GATV0(z,BOX,m,1); x=AAV(z);
RZ(x[0]=rifvs(df));
RZ(x[1]=rifvs(b||c||xop?dg:fl&VDDOP?(hv=AV(hs),link(sc(hv[0]),link(spellout(id),sc(hv[1])))):spellout(id)));
if(2<m)RZ(x[2]=rifvs(c||xop?drr(hs):dg));
EPILOG(z);
}
F1(jtdrep){A z=drr(w); R z&&AT(z)&BOX?z:ravel(box(z));}
F1(jtaro){A fs,gs,hs,s,*u,*x,y,z;B ex,xop;C id;I*hv,m;V*v;
RZ(w);
if(FUNC&AT(w)){
v=FAV(w); id=v->id;
I fndx=(id==CBDOT)&&!v->fgh[0]; fs=v->fgh[fndx]; gs=v->fgh[fndx^1]; // In verb for m b., if f is empty look to g for the left arg. It would be nice to be more general
hs=v->fgh[2]; if(id==CBOX)gs=0; // ignore gs field in BOX, there to simulate BOXATOP
if(VXOPCALL&v->flag)R aro(hs);
xop=1&&VXOP&v->flag;
ex=hs&&id==CCOLON&&!xop;
m=id==CFORK?3:!!fs+(ex||xop&&hs||!xop&&gs);
if(!m)R spella(w);
if(evoke(w)){RZ(w=sfne(w)); if(FUNC&AT(w))w=aro(w); R w;} // keep nameref as a string, UNLESS it is NMDOT, in which case use the (f.'d) verb value
}
GAT0(z,BOX,2,1); x=AAV(z);
if(NOUN&AT(w)){RZ(x[0]=rifvs(ravel(scc(CNOUN)))); if(AT(w)&NAME)RZ(w=sfn(0,w)); x[1]=INCORPNA(w); RETF(z);} // if name, must be ".@'name', format name as string
GATV0(y,BOX,m,1); u=AAV(y);
if(0<m)RZ(u[0]=rifvs(aro(fs)));
if(1<m)RZ(u[1]=rifvs(aro(ex?unparsem(num[0],w):xop?hs:gs)));
if(2<m)RZ(u[2]=rifvs(aro(hs)));
s=xop?aro(gs):VDDOP&v->flag?(hv=AV(hs),aro(foreign(sc(hv[0]),sc(hv[1])))):spellout(id);
RZ(x[0]=rifvs(s)); x[1]=INCORPNA(y);
R z;
}
F1(jtarep){R box(aro(w));}
// Create A for a string - name~, a primitive, or the boxed string
static DF1(jtfxchar){A y;C c,d,id,*s;I m,n;
n=AN(w);
ASSERT(1>=AR(w),EVRANK); // string must be an atom or list
ASSERT(n,EVLENGTH);
s=CAV(w); c=*(s+n-1);
DO(n, d=s[i]; ASSERT((C)(d-32)<(C)(127-32),EVSPELL);); // must be all ASCII
if(CA==ctype[(UC)*s]&&c!=CESC1&&c!=CESC2)R swap(w); // If name and not control word, treat as name~, create nameref
ASSERT(id=spellin(n,s),EVSPELL); // not name, must be control word or primitive. Also classify string
if(id!=CFCONS)y=ds(id); else{m=s[n-2]-'0'; y=FCONS(CSIGN!=*s?scib(m):2==n?ainf:scib(-m));} // define 0:, if it's that, using boolean for 0/1
ASSERT(y&&RHS&AT(y),EVDOMAIN); // make sure it's a noun/verb/adv/conj
if(!self || AT(y)
guest8 12.09.2019 00:52 # −999
Arbatan_Pokrovan 12.09.2019 00:54 # 0
guest8 12.09.2019 01:00 # −999
Stallman 12.09.2019 01:16 # 0
nblXOMAKAKA 12.09.2019 11:08 # 0
P.S. Чёрт! Я же пыхомакака. Я не должна этого знать.
Pretty_Young_Thing 12.09.2019 15:24 # 0
nABuAH 12.09.2019 12:19 # 0
Автор: Кеннет Айверсон и Роджер Хуэй
Разработчик: Кеннет Айверсон и Роджер Хаи
То напишут «Хуэй», то «Хаи». Как угодно исказят, лишь бы не писа́ть «Хуй». Обезьяны одним словом.
nABuAH 12.09.2019 12:25 # 0
https://github.com/bakerjd99
Вроде горилла.
nABuAH 12.09.2019 12:31 # 0
https://github.com/jsoftware/jandroid/blob/master/install.txt
Надеялся увидеть такой же код, но на «Java», но обломался. Они предлагают из сишных исходников компилировать библиотеку и цеплять её через «JNI».
Pretty_Young_Thing 12.09.2019 15:26 # 0
Кстати, я тут где-то гуевые пятнашки на 'J' постил, они были для анероида.
nABuAH 12.09.2019 16:40 # 0
https://github.com/jsoftware/games_2048
«Сапёра»:
https://github.com/jsoftware/games_minesweeper
«Солитёр» «Пасьянс»:
https://github.com/jsoftware/games_solitaire
И ещё пару игор:
https://github.com/jsoftware/games_nurikabe
https://github.com/jsoftware/games_pousse
Всё выдержано в хуёвом стиле.
Pretty_Young_Thing 12.09.2019 17:23 # 0
Кстати, а вот и настоящий говнокод:https://github.com/jsoftware/games_2048/blob/master/engine.ijs#L32
https://www.jsoftware.com/help/dictionary/cret.htm
Недостижимый кот. И оно как-то работает.
Pretty_Young_Thing 12.09.2019 17:30 # 0
Архив говна: http://www.jsoftware.com/download/
Когда-то были версии и для КПК.
nABuAH 12.09.2019 19:32 # 0
guest8 12.09.2019 19:51 # −999
cmepmop 12.09.2019 20:02 # 0
PE3yC 12.09.2019 20:39 # 0
в крайнем случае, метанолу
куууууик?
cmepmop 12.09.2019 20:50 # 0
guest8 12.09.2019 20:51 # −999
cmepmop 12.09.2019 20:53 # −1
guest8 12.09.2019 20:55 # −999
cmepmop 12.09.2019 20:57 # 0
guest8 12.09.2019 21:10 # −999
cmepmop 12.09.2019 21:15 # 0
Зато теперь из его ануса выйдут мои яички и я размножусь.
Ня, прощайте.
PE3yC 12.09.2019 21:16 # 0
и ты убился, да?
Pretty_Young_Thing 12.09.2019 15:24 # 0
MAPTbIwKA 12.09.2019 15:52 # 0
человек-кодогенератор
компилятор плакал, и просил больше такого запутанного кода не писать, а то он руки натёр строить синтаксисськое дерево
куууик
nABuAH 12.09.2019 16:36 # 0
Steve_Brown 12.09.2019 12:12 # 0
2) Нет, подождите, тут комментарии
3) A-a-a-a-a!
guest8 12.09.2019 15:59 # −999
nABuAH 12.09.2019 16:36 # 0