Browse Source

new test file to print a tree

master
Nathan R 3 years ago
parent
commit
818b15f5e7
1 changed files with 36 additions and 0 deletions
  1. +36
    -0
      ccmeta-tree.txt

+ 36
- 0
ccmeta-tree.txt View File

@ -0,0 +1,36 @@
typedef signed t;
typedef int plain;
struct tag {
unsigned t:4; // t is the name of the field
const t:5; // t is the name of the type of the unnamed 5-bit field
plain r:5;
};
struct tag2 {
int xx:8;
int :8; // a field with no name
int :8; // a field with no name
int yy:8;
};
typedef int a, (*b)(a intarg);
// ^ ^----------------------------------------|-------|
// (1) where does it say in the std that this name becomes a type name
// even before the end of the typedef declarator list that is a part of?
// (2) where in the std does is say how the scope of typedef names is
// handled (global, function-level, block-level, etc.)?
// (3) what are the exact rules about typedef scopes, and the different
// contexts in which a typedef can occur that causes it to have non-local
// or non-global scope?
// (4) printTree to show the real AST in addition to outputNode which prints
// source code.
int c(int x) { return x; }
b e = c;
unsigned x;
unsigned long int y;

Loading…
Cancel
Save