プログラミングのやる気出ねぇ〜〜

1 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:56:39.364 ID:Av8yEef7M.net
のでモチベ上げる為にここに書く

じゃあまずヘッダー

15 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:59:35.819 ID:Av8yEef7M.net

簡易アセンブラ書く

14 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:59:22.251 ID:Av8yEef7M.net

>>12
まあ学生の日曜プログラミングだしな

37 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 14:13:35.295 ID:Av8yEef7M.net

ヘッダ-ツイカ
#define MAX_BUF_SIZE 128
typedef enum _size{ x8,x16,x32,x64 }_Size;
long AtoNum(char* str,_Size* size);
//トークン構造体修正
typedef struct _Token{

_Size size;//これ追加
}Token;

ソ-ス
Token GetToken(void){
static Token token;
char buf[MAX_BUF_SIZE]={0};
int n=GetString(buf);
switch(n){
case -1:
token.kind=Meta;
token.num=(long)buf[0];
return token;
case -2:
token.kind=Imm;
token.num=AtoNum(buf,&token.size);
return token;
//続く

24 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:18:57.426 ID:w5KJDJXo0.net

どういう処理にしようか全体的な設計してる時が一番楽しい

33 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:57:34.425 ID:iTQi3Q1ud.net

スマホでやってんのかw
すごいなw

7 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:57:57.030 ID:Av8yEef7M.net

29 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:27:10.533 ID:I3/CiDDKd.net

恒例のZ80向け?

31 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:44:18.677 ID:Av8yEef7M.net

>>29
x86_64向け

39 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 14:31:49.539 ID:Av8yEef7M.net

ヘッダ-ツイカ
int StrProc(char* str);
int GetStrSize(int n);
int SrchTable(char* str,char* table[]);
int _adrs(char* str);

ソ-スツヅキ
case -3:
token.kind=Str;
token.num=StrProc(buf);
return token;
case -4:
token.kind=CRet;
return token;
default:
n=SrchTable(buf,NemonicTable);
if(n!=-1){
token.kind=Nemonic;
token.nemonic=(_Nemonic)n;
return token;
}else{
n=SrchTable(buf,DirectiveTable);
if(n!=-1){
token.kind=Directive;
token.directive=(_Directive)n;
return token;
}else{
token.kind=Label;
token.num=_adrs(buf);
return token;
}
}
}//switch文終わり
}//関数終わり

4 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:57:33.934 ID:0jeJWazyd.net

<html>

20 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:08:37.807 ID:Av8yEef7M.net

>>17
許せ

5 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:57:34.934 ID:Av8yEef7M.net

13 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:58:57.273 ID:Av8yEef7M.net

2 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:57:14.406 ID:Av8yEef7M.net

の前に保守だったな

40 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 14:37:25.041 ID:Av8yEef7M.net

>>38
アンダースコアをつけた方が見やすくなると判断した時は使っています。
const就職がないポインタは基本的に書き込むために使っています。
restrictはこれぐらいのプログラムだったら必要ないと思いますが、確かにこの指摘は的を射ています…

16 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:00:36.119 ID:vztL4p8aM.net

#include <_____.h>

17 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:06:20.634 ID:qvzUlWCRa.net

プログラミングスレに必ず湧く
クソ簡単なコードをドヤ顔で書いていく奴
暇だからプログラミングに手を出したものの
基礎の基礎だけやって挫折したの丸わかりだからやめろ

36 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:59:31.762 ID:Av8yEef7M.net

GetString関数なげぇ……

8 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:58:08.068 ID:Av8yEef7M.net

22 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:14:15.342 ID:Av8yEef7M.net

ヘッダ-ツヅキ

int StrCmp(char* ch1,char* ch2);
int StrCpy(char* buf,char* str);
int GetString(char* buf);
Token GetToken(void);
void GenerateCode(char* buf);
int que(char* str);
int adrs(long adr,int n);
void backpatch(void);
/*…とか色々
あとで増やすかもしれんから今の所はこれしか書けない*/

3 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:57:24.443 ID:DniuaNdPd.net

stdlib

38 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 14:28:03.005 ID:jvk+UV/ia.net

識別子の一文字目にアンダースコアを使うのはやめてください
書き込まないポインタにはconstをつけて下さい
StrCpyなんかの複数の別のメモリ領域のポインタ引数にはrestrictをつけて下さい

44 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 15:06:05.841 ID:Av8yEef7M.net

>>43
確かに…
処理系の組み込み関数なんてほぼ使ったこと無かったから気にしてませんでしたが、インテルのコンパイラとかでは沢山ありますね

21 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:10:13.575 ID:qvzUlWCRa.net

>>20
君はいい
現在進行形で頑張ってるし
頑張るためのモチベ作りは大事だし

だがポインタで挫折するとか言う奴
テメーらは駄目だ

30 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:43:46.098 ID:Av8yEef7M.net

ヘッダ-ツイカ
FILE *fp;

ソ-スツヅキ
int GetString(char* buf){
static char ch=getc(fp);
static int line=0;
int i=0;
while(1)
switch(ch){
case 0x0a:case 0x0b:
line++;
ch=getc(fp);
return -4;//改行の時は-4を返す
case 0x20:case 0x09:
ch=getc(fp);
break;
case “¥'”:case “¥””:
char ch2;
while(1){
ch2=getc(fp);
if(ch2!=ch)buf[i++]=ch2;
else{
ch=getc(fp);
if(ch!=ch2)return -3;//文字列は-3を返す
else buf[i++]=ch;
}
}
//続く

10 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:58:31.980 ID:Av8yEef7M.net

11 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:58:46.933 ID:Av8yEef7M.net

35 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:58:58.345 ID:Av8yEef7M.net

>>33
授業中だからな
パソコン使えん

23 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:18:50.256 ID:Av8yEef7M.net

/*フルスクラッチでライブラリ関数まで書く*/
/*まずは簡単なもの消化*/

int StrCmp(char* ch1,char* ch2){
int i=0;
while(ch1[i]==ch2[i])
if(!ch1[i++])return 0;
if(ch1[i]>ch2[i])return 1;
else return -1;
}

41 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 14:44:35.024 ID:Av8yEef7M.net

やっべモチベ下がってきた
もう良いかな面倒いし

6 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:57:47.202 ID:Av8yEef7M.net

32 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:44:43.628 ID:Av8yEef7M.net

もしもしで打つのめっちゃ大変

27 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:24:31.090 ID:Av8yEef7M.net

int StrCpy(char* buf,char* str){
int i=0;
do{buf[i]=str[i];}while(str[i++]);
return i;//終端の0を含む文字数
}

34 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:58:01.351 ID:Av8yEef7M.net

ツヅキ

case ‘;’:
while(ch!=0x0a&&ch!=0x0b)ch=getc(fp);
break;
default:
while(‘0′<=ch&&ch<=’9’||’a'<=ch&&ch<=’z’||’A'<=ch&&ch<=’Z’||ch==’_’||ch==’$’||ch==’@’||ch==’?’)
{
buf[i++]=ch;
ch=getc(fp);
}
if(i==1&&buf[0]==’$’)return -1;
else if(!i){
buf[0]=ch;
ch=getc(fp);
return -1;//メタ記号の時に-1を返す
}
if(‘0′<=buf[0]&&buf[0]<=’9’)return -2;
//数字の時は-2を返す
else return i-1;//ラベルかニモニック
}

42 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 14:44:54.345 ID:Av8yEef7M.net

後は紙にでも書こうか

28 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:25:57.130 ID:Av8yEef7M.net

>>26
終わらないよ
入力された二つの文字列が等しければ0を返し、そうでなければ辞書順で比較して1か-1を返す

12 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 12:58:54.459 ID:702MYbJDM.net

結局仕事にして1日8時間やらないと無理だぞ

43 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 14:56:00.873 ID:jvk+UV/ia.net

>>40
先頭の_は基本的に利用可能ですがC/C++では予約されているので使わないでください

25 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:18:57.926 ID:w5KJDJXo0.net

どういう処理にしようか全体的な設計してる時が一番楽しい

19 :以下、\(^o^)/でVIPがお送りします:2017/06/19(月) 13:08:06.283 ID:J7pz74V20.net

>>17
プロからしたらキツいどや顔だしな

ネットの反応

こちらのまとめも人気です。

ニュー速vipの関連記事

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)