start parsing statements (not a lot yet)
This commit is contained in:
parent
fd02968c23
commit
d1167f03d0
4 changed files with 260 additions and 65 deletions
115
05/main.c
115
05/main.c
|
@ -1,59 +1,64 @@
|
|||
typedef struct {
|
||||
int i[41];
|
||||
long double d;
|
||||
} (*x___)(void);
|
||||
int f(void) {
|
||||
blah:blah:blah:;
|
||||
}
|
||||
|
||||
typedef enum X {
|
||||
R,S,T
|
||||
} *Foo[sizeof(unsigned long)];
|
||||
typedef int A___[T];
|
||||
|
||||
typedef struct A {
|
||||
int x, y;
|
||||
long double c;
|
||||
unsigned long d;
|
||||
char e[3];
|
||||
long f;
|
||||
} A;
|
||||
|
||||
typedef union B{
|
||||
int x;
|
||||
struct {
|
||||
int y;
|
||||
struct {long z; } c;
|
||||
} c;
|
||||
}B;
|
||||
|
||||
typedef int QQQ[sizeof(A)+sizeof"hello"];
|
||||
typedef int RRR[sizeof(struct B)];
|
||||
|
||||
static unsigned int x={55};
|
||||
static char *s = "hello";
|
||||
static char *t = "goodbye";
|
||||
static char u[8] = "hellothe";
|
||||
static char v[100] = "re my";
|
||||
static char w[] = "friendly";
|
||||
static char x_[] = "hi";
|
||||
typedef int A_[sizeof x_ + sizeof u];
|
||||
|
||||
static int a[5] = {1,2,3};
|
||||
static char b[6][7] = {{'a'},{'b'},{'c'},{'d'},{'e'}};
|
||||
static char __b[][7] = {{'a'},"hello",'r'};
|
||||
static int _u = sizeof __b;
|
||||
|
||||
struct {
|
||||
int a;
|
||||
long b;
|
||||
} x1[] = {0x1234567890, 1ul<<60|1ul<<3, 77};
|
||||
int y1 = 0x12345678;
|
||||
|
||||
struct {
|
||||
int x[2], y;
|
||||
} test[] = {3, 5,0x1234,0x4321};
|
||||
typedef int Blah[sizeof((B *)0)->c.y];
|
||||
unsigned marker = 0xdeadbeef;
|
||||
|
||||
typedef int (*FUNCTION)(void);
|
||||
typedef int AAAA[sizeof*****((FUNCTION)0)];
|
||||
/* typedef struct { */
|
||||
/* int i[41]; */
|
||||
/* long double d; */
|
||||
/* } (*x___)(void); */
|
||||
/* */
|
||||
/* typedef enum X { */
|
||||
/* R,S,T */
|
||||
/* } *Foo[sizeof(unsigned long)]; */
|
||||
/* typedef int A___[T]; */
|
||||
/* */
|
||||
/* typedef struct A { */
|
||||
/* int x, y; */
|
||||
/* long double c; */
|
||||
/* unsigned long d; */
|
||||
/* char e[3]; */
|
||||
/* long f; */
|
||||
/* } A; */
|
||||
/* */
|
||||
/* typedef union B{ */
|
||||
/* int x; */
|
||||
/* struct { */
|
||||
/* int y; */
|
||||
/* struct {long z; } c; */
|
||||
/* } c; */
|
||||
/* }B; */
|
||||
/* */
|
||||
/* typedef int QQQ[sizeof(A)+sizeof"hello"]; */
|
||||
/* typedef int RRR[sizeof(struct B)]; */
|
||||
/* */
|
||||
/* static unsigned int x={55}; */
|
||||
/* static char *s = "hello"; */
|
||||
/* static char *t = "goodbye"; */
|
||||
/* static char u[8] = "hellothe"; */
|
||||
/* static char v[100] = "re my"; */
|
||||
/* static char w[] = "friendly"; */
|
||||
/* static char x_[] = "hi"; */
|
||||
/* typedef int A_[sizeof x_ + sizeof u]; */
|
||||
/* */
|
||||
/* static int a[5] = {1,2,3}; */
|
||||
/* static char b[6][7] = {{'a'},{'b'},{'c'},{'d'},{'e'}}; */
|
||||
/* static char __b[][7] = {{'a'},"hello",'r'}; */
|
||||
/* static int _u = sizeof __b; */
|
||||
/* */
|
||||
/* struct { */
|
||||
/* int a; */
|
||||
/* long b; */
|
||||
/* } x1[] = {0x1234567890, 1ul<<60|1ul<<3, 77}; */
|
||||
/* int y1 = 0x12345678; */
|
||||
/* */
|
||||
/* struct { */
|
||||
/* int x[2], y; */
|
||||
/* } test[] = {3, 5,0x1234,0x4321}; */
|
||||
/* typedef int Blah[sizeof((B *)0)->c.y]; */
|
||||
/* unsigned marker = 0xdeadbeef; */
|
||||
/* */
|
||||
/* typedef int (*FUNCTION)(void); */
|
||||
/* typedef int AAAA[sizeof*****((FUNCTION)0)]; */
|
||||
|
||||
/* typedef int X[sizeof(int)+4]; */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue