YACASL2
token.h
Go to the documentation of this file.
1 #ifndef YACASL2_TOKEN_INCLUDE
2 #define YACASL2_TOKEN_INCLUDE
3 
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7 #include <stdbool.h>
8 #include <ctype.h>
9 #include <assert.h>
10 #include <errno.h>
11 #include "cerr.h"
12 #include "cmem.h"
13 
17 enum {
18  LABELSIZE = 8,
19  OPDSIZE = 40,
20 };
21 
25 enum {
26  LINESIZE = 1024,
27  TOKENSIZE = 256,
28 };
29 
33 typedef struct {
34  int opdc;
35  char *opdv[OPDSIZE];
36 } OPD;
37 
41 typedef struct {
42  char *label;
43  char *cmd;
44  OPD *opd;
45 } CMDLINE;
46 
52 void addcerrlist_tok();
53 
61 CMDLINE *linetok(const char *line);
62 
63 #endif
命令行を表すデータ型
Definition: token.h:41
OPD * opd
Definition: token.h:44
char * cmd
Definition: token.h:43
char * label
Definition: token.h:42
オペランドを表すデータ型
Definition: token.h:33
int opdc
Definition: token.h:34
@ TOKENSIZE
Definition: token.h:27
@ LINESIZE
Definition: token.h:26
void addcerrlist_tok()
トークン取得のエラーを追加する
Definition: token.c:91
@ LABELSIZE
Definition: token.h:18
@ OPDSIZE
Definition: token.h:19
CMDLINE * linetok(const char *line)
行から、ラベル・コマンド・オペランドを取得する
Definition: token.c:97