author | unc0rr |
Mon, 18 Jun 2012 23:45:21 +0400 | |
changeset 7262 | 33e703cc7a7f |
parent 7151 | ec15d9e1a7e3 |
child 7616 | dcda1c2b77e4 |
permissions | -rw-r--r-- |
6512 | 1 |
system; |
2 |
||
3 |
type |
|
6635
c2fa29fe2a58
Some progress, still can't find the source of bad behavior
unc0rr
parents:
6552
diff
changeset
|
4 |
Integer = integer; |
6512 | 5 |
LongInt = integer; |
6 |
LongWord = integer; |
|
6516 | 7 |
Cardinal = integer; |
8 |
PtrInt = integer; |
|
6520 | 9 |
Word = integer; |
10 |
Byte = integer; |
|
11 |
SmallInt = integer; |
|
12 |
ShortInt = integer; |
|
6653 | 13 |
QWord = integer; |
6891
ab9843957664
Improve rendering of function types, ranges, and more
unc0rr
parents:
6873
diff
changeset
|
14 |
GLint = integer; |
ab9843957664
Improve rendering of function types, ranges, and more
unc0rr
parents:
6873
diff
changeset
|
15 |
GLuint = integer; |
7044 | 16 |
int = integer; |
7073 | 17 |
size_t = integer; |
6516 | 18 |
|
19 |
pointer = pointer; |
|
20 |
||
6649
7f78e8a6db69
Fix a bug with type declaration trying to resolve type being declared
unc0rr
parents:
6635
diff
changeset
|
21 |
float = float; |
6838 | 22 |
single = float; |
6516 | 23 |
double = float; |
24 |
real = float; |
|
6653 | 25 |
extended = float; |
6891
ab9843957664
Improve rendering of function types, ranges, and more
unc0rr
parents:
6873
diff
changeset
|
26 |
GLfloat = float; |
6516 | 27 |
|
28 |
boolean = boolean; |
|
29 |
LongBool = boolean; |
|
30 |
||
31 |
string = string; |
|
32 |
shortstring = string; |
|
33 |
ansistring = string; |
|
6838 | 34 |
widechar = string; |
6516 | 35 |
|
36 |
char = char; |
|
6873 | 37 |
PChar = ^char; |
6926
6e832f8f4d8e
Make adler32 friendlier for pas2c - this should work the same (needs testing ofc)
nemo
parents:
6902
diff
changeset
|
38 |
PPChar = ^Pchar; |
6520 | 39 |
|
40 |
PByte = ^Byte; |
|
41 |
PLongInt = ^LongInt; |
|
42 |
PLongWord = ^LongWord; |
|
43 |
PInteger = ^Integer; |
|
6663 | 44 |
|
45 |
Handle = integer; |
|
6838 | 46 |
|
6893 | 47 |
png_structp = pointer; |
48 |
png_size_t = integer; |
|
49 |
||
6512 | 50 |
var |
51 |
false, true: boolean; |
|
6855
807156c01475
Finish the toughest part of the converter. Now it knows types of everything, so could correctly recognize bitwise operators and type convertions.
unc0rr
parents:
6854
diff
changeset
|
52 |
|
6838 | 53 |
write, writeLn, read, readLn: procedure; |
6855
807156c01475
Finish the toughest part of the converter. Now it knows types of everything, so could correctly recognize bitwise operators and type convertions.
unc0rr
parents:
6854
diff
changeset
|
54 |
|
6520 | 55 |
StrLen, ord, Succ, Pred : function : integer; |
6838 | 56 |
inc, dec, Low, High, Lo, Hi : function : integer; |
57 |
odd, even : function : boolean; |
|
58 |
||
6520 | 59 |
Now : function : integer; |
6838 | 60 |
|
61 |
new, dispose, FillChar, Move : procedure; |
|
62 |
||
63 |
trunc, round : function : integer; |
|
7041 | 64 |
abs, sqr : function : integer; |
6838 | 65 |
|
6967
1224c6fb36c3
Support recurrent function calls. The code is kinda hackish and ugly, but I really spent a few hours thinking on a good solution.
unc0rr
parents:
6926
diff
changeset
|
66 |
StrPas, FormatDateTime, copy, delete, str, pos, trim, LowerCase : function : shortstring; |
6856 | 67 |
Length, StrToInt : function : integer; |
68 |
SetLength, val : procedure; |
|
6898 | 69 |
_pchar : function : PChar; |
7134 | 70 |
pchar2str : function : string; |
7066
12cc2bd84b0b
Make pas2c even more happier with uGears.c, allow assigning arrays in some cases
unc0rr
parents:
7065
diff
changeset
|
71 |
memcpy : procedure; |
6838 | 72 |
|
6855
807156c01475
Finish the toughest part of the converter. Now it knows types of everything, so could correctly recognize bitwise operators and type convertions.
unc0rr
parents:
6854
diff
changeset
|
73 |
assign, rewrite, reset, flush, BlockWrite, BlockRead, close : procedure; |
6902
7d4e5ce73b98
Make pas2c even smarter. Now uIO.c compiles fine, and only 1 warning when compiled with -Wall (clang).
unc0rr
parents:
6898
diff
changeset
|
74 |
IOResult : integer; |
6853 | 75 |
exit, break, halt, continue : procedure; |
6843
59da15acb2f2
Finally fix the bug with pointer declarations polluting namespace with bad records
unc0rr
parents:
6838
diff
changeset
|
76 |
TextFile, file : Handle; |
6853 | 77 |
FileMode : integer; |
6855
807156c01475
Finish the toughest part of the converter. Now it knows types of everything, so could correctly recognize bitwise operators and type convertions.
unc0rr
parents:
6854
diff
changeset
|
78 |
FileExists, DirectoryExists, eof : function : boolean; |
807156c01475
Finish the toughest part of the converter. Now it knows types of everything, so could correctly recognize bitwise operators and type convertions.
unc0rr
parents:
6854
diff
changeset
|
79 |
ExtractFileName : function : string; |
807156c01475
Finish the toughest part of the converter. Now it knows types of everything, so could correctly recognize bitwise operators and type convertions.
unc0rr
parents:
6854
diff
changeset
|
80 |
exitcode : integer; |
7151 | 81 |
stdout, stderr : Handle; |
6853 | 82 |
|
83 |
ParamCount : function : integer; |
|
84 |
ParamStr : function : string; |
|
6838 | 85 |
|
7062 | 86 |
sqrt, arctan2, cos, sin, power : function : float; |
87 |
pi : float; |
|
6838 | 88 |
|
89 |
TypeInfo, GetEnumName : function : shortstring; |
|
90 |
||
91 |
UTF8ToUnicode, WrapText: function : shortstring; |
|
92 |
||
93 |
sizeof : function : integer; |
|
94 |
||
95 |
GetMem : function : pointer; |
|
96 |
FreeMem : procedure; |
|
7064 | 97 |
|
98 |
glGetString : function : pchar; |
|
99 |
||
100 |
glBegin, glBindTexture, glBlendFunc, glClear, glClearColor, |
|
101 |
glColor4ub, glColorMask, glColorPointer, glDeleteTextures, |
|
102 |
glDisable, glDisableClientState, glDrawArrays, glEnable, |
|
103 |
glEnableClientState, glEnd, glGenTextures, glGetIntegerv, |
|
104 |
glHint, glLineWidth, glLoadIdentity, glMatrixMode, glPopMatrix, |
|
105 |
glPushMatrix, glReadPixels, glRotatef, glScalef, glTexCoord2f, |
|
106 |
glTexCoordPointer, glTexImage2D, glTexParameterf, |
|
107 |
glTexParameteri, glTranslatef, glVertex2d, glVertexPointer, |
|
7065 | 108 |
glViewport, glext_LoadExtension, glDeleteRenderbuffersEXT, |
109 |
glDeleteFramebuffersEXT, glGenFramebuffersEXT, |
|
110 |
glGenRenderbuffersEXT, glBindFramebufferEXT, |
|
111 |
glBindRenderbufferEXT, glRenderbufferStorageEXT, |
|
112 |
glFramebufferRenderbufferEXT, glFramebufferTexture2DEXT : procedure; |
|
7064 | 113 |
|
114 |
GL_BGRA, GL_BLEND, GL_CLAMP_TO_EDGE, GL_COLOR_ARRAY, |
|
115 |
GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_DEPTH_COMPONENT, |
|
116 |
GL_DITHER, GL_EXTENSIONS, GL_FALSE, GL_FASTEST, GL_LINEAR, |
|
117 |
GL_LINE_LOOP, GL_LINES, GL_LINE_SMOOTH, GL_LINE_STRIP, |
|
118 |
GL_MAX_TEXTURE_SIZE, GL_MODELVIEW, GL_ONE_MINUS_SRC_ALPHA, |
|
119 |
GL_PERSPECTIVE_CORRECTION_HINT, GL_PROJECTION, GL_QUADS, |
|
120 |
GL_RENDERER, GL_RGBA, GL_RGBA8, GL_SRC_ALPHA, GL_TEXTURE_2D, |
|
121 |
GL_TEXTURE_COORD_ARRAY, GL_TEXTURE_MAG_FILTER, |
|
122 |
GL_TEXTURE_MIN_FILTER, GL_TEXTURE_PRIORITY, GL_TEXTURE_WRAP_S, |
|
123 |
GL_TEXTURE_WRAP_T, GL_TRIANGLE_FAN, GL_TRUE, GL_VENDOR, |
|
7065 | 124 |
GL_VERSION, GL_VERTEX_ARRAY, GLenum, GL_FRAMEBUFFER_EXT, |
125 |
GL_RENDERBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, |
|
7069 | 126 |
GL_COLOR_ATTACHMENT0_EXT, GL_FLOAT, GL_UNSIGNED_BYTE : integer; |
6838 | 127 |
|
128 |
TThreadId : function : integer; |
|
6854
873929cbd54b
Normalize RecordFields before conversion. Helps with namespaces problem.
unc0rr
parents:
6853
diff
changeset
|
129 |
BeginThread, ThreadSwitch : procedure; |
873929cbd54b
Normalize RecordFields before conversion. Helps with namespaces problem.
unc0rr
parents:
6853
diff
changeset
|
130 |
InterlockedIncrement, InterlockedDecrement : procedure; |
6853 | 131 |
|
132 |
random : function : integer; |
|
6855
807156c01475
Finish the toughest part of the converter. Now it knows types of everything, so could correctly recognize bitwise operators and type convertions.
unc0rr
parents:
6854
diff
changeset
|
133 |
randomize : procedure; |
6853 | 134 |
|
135 |
Assigned : function : boolean; |
|
6854
873929cbd54b
Normalize RecordFields before conversion. Helps with namespaces problem.
unc0rr
parents:
6853
diff
changeset
|
136 |
|
7151 | 137 |
_strconcat, _strappend, _strprepend, _chrconcat : function : string; |
7054 | 138 |
_strcompare, _strncompare, _strcomparec : function : boolean; |
6893 | 139 |
|
140 |
png_structp, png_set_write_fn, png_get_io_ptr, |
|
141 |
png_get_libpng_ver, png_create_write_struct, |
|
142 |
png_create_info_struct, png_destroy_write_struct, |
|
143 |
png_write_row, png_set_ihdr, png_write_info, |
|
144 |
png_write_end : procedure; |
|
6894 | 145 |
|
146 |
EnumToStr : function : string; |
|
7066
12cc2bd84b0b
Make pas2c even more happier with uGears.c, allow assigning arrays in some cases
unc0rr
parents:
7065
diff
changeset
|
147 |