forked from drbrain/cast
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChangeLog
114 lines (75 loc) · 3.36 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
2007-01-21 George Ogata <[email protected]>
* test/test_render.rb: Born. (Tests for #to_s, which will be
shortly renamed #render.)
* lib/cast/to_s.rb: Fixes for bugs found while testing:
(Node#hang): Don't hang labelled blocks.
(FunctionDef#to_s): Don't print types in parameter list of
no_prototype? is true.
({PlainLabel,Default,Case}#to_s): Print ':' with label name.
({Address,Positive,Negative}#to_s): Separate operators for nested
unary expressions (e.g., "& &a" instead of "&&a", since "&&" is a
different operator.
(Sizeof#to_s): Always print parentheses with sizeof. (C99 doesn't
mandate them, but seems to be a stylistic preference.)
(Char#to_s): Distinguish between 'signed', 'unsigned', and
unqualified chars. (C99 does distinguish between them.)
({Bool,Complex,Imaginary}#to_s): Print longness correctly.
(Conditional#to_s): Handle nested Conditionals correctly.
(MemberInit#to_s): Print member correctly.
* lib/cast/parse.rb (Member.parse): Fix Member.parse.
(Expression.parse): Support CompoundLiterals without types (as
allowed in declarators only).
2007-01-20 George Ogata <[email protected]>
* lib/cast/parse.rb (Declarator.parse): Allow specification
of #num_bits.
2006-05-07 George Ogata <[email protected]>
* lib/cast/preprocessor.rb: Added C::Preprocessor, a preprocessor
that wraps around the command in Config::CONFIG['CPP']. Assumes
POSIX-style -D and -I options.
2006-05-06 George Ogata <[email protected]>
* lib/cast/c_nodes.rb: Added fields:
+ CharLiteral#prefix
+ StringLiteral#prefix
For StringLiteral and CharLiteral, added optional parameter for
#prefix to #initialize. Also, #wide? and #wide= are now methods
rather than fields.
For IntLiteral and FloatLiteral, #format now comes first in the
list of fields.
* ext/yylex.re (yylex): Restrict IntLiteral suffixes to those in
C99, so cases like 2e-2 are now parsed correctly. Also, allow
newlines in StringLiterals and CharLiterals.
* lib/cast/c.y (on_error): Made parse error message more meaningful.
2006-04-26 George Ogata <[email protected]>
* Release 0.1.0.
* Rejigged gemspec to compile new lexer on installation.
* Moved lib files under lib/cast so they don't all end up directly
in the load path.
* Merged install.rb into Rakefile.
2005-07-17 George Ogata <[email protected]>
* src/parser.c: Born.
* src/cast_core.c: Born.
* pre/yylex.re: Born.
* include/cast.h: Born.
* lib/c.y (next_token): Wrote the lexer in C.
* test/*: merged common.rb into run.rb.
2005-07-10 George Ogata <[email protected]>
* lib/c_nodes.rb: Added fields:
+ StringLiteral#wide?
+ CharLiteral#wide?
+ IntLiteral#suffix
+ FloatLiteral#format
+ FloatLiteral#suffix
2005-03-14 George Ogata <[email protected]>
* lib/c.y: Allow type names in Call#args. (Not C99, but useful
for macros.)
2005-03-07 George Ogata <[email protected]>
* lib/to_s.rb (CompoundLiteral#to_s): Made it work.
2005-02-26 George Ogata <[email protected]>
* lib/to_s.rb (AssignmentExpression#to_s): Fixed for when #lval
is a Comma.
2005-02-23 George Ogata <[email protected]>
* lib/inspect.rb: Renamed Node#to_debug to Node#inspect.
Renamed to_debug.rb to inspect.rb.
* lib/to_s.rb (Parameter#to_s): Fixed for when #type is nil.
2005-02-19 George Ogata <[email protected]>
* Hello, world!