author | unc0rr |
Thu, 08 Nov 2012 17:18:49 +0400 | |
changeset 8013 | 5cbf6e4361f4 |
parent 7616 | dcda1c2b77e4 |
child 8026 | 4a4f21070479 |
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; |
|
7616 | 41 |
PWord = ^Word; |
6520 | 42 |
PLongInt = ^LongInt; |
43 |
PLongWord = ^LongWord; |
|
44 |
PInteger = ^Integer; |
|
6663 | 45 |
|
46 |
Handle = integer; |
|
6838 | 47 |
|
6893 | 48 |
png_structp = pointer; |
49 |
png_size_t = integer; |
|
50 |
||
6512 | 51 |
var |
52 |
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
|
53 |
|
6838 | 54 |
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
|
55 |
|
6520 | 56 |
StrLen, ord, Succ, Pred : function : integer; |
6838 | 57 |
inc, dec, Low, High, Lo, Hi : function : integer; |
58 |
odd, even : function : boolean; |
|
59 |
||
6520 | 60 |
Now : function : integer; |
6838 | 61 |
|
62 |
new, dispose, FillChar, Move : procedure; |
|
63 |
||
64 |
trunc, round : function : integer; |
|
7041 | 65 |
abs, sqr : function : integer; |
6838 | 66 |
|
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
|
67 |
StrPas, FormatDateTime, copy, delete, str, pos, trim, LowerCase : function : shortstring; |
6856 | 68 |
Length, StrToInt : function : integer; |
69 |
SetLength, val : procedure; |
|
6898 | 70 |
_pchar : function : PChar; |
7134 | 71 |
pchar2str : function : string; |
7066
12cc2bd84b0b
Make pas2c even more happier with uGears.c, allow assigning arrays in some cases
unc0rr
parents:
7065
diff
changeset
|
72 |
memcpy : procedure; |
6838 | 73 |
|
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
|
74 |
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
|
75 |
IOResult : integer; |
6853 | 76 |
exit, break, halt, continue : procedure; |
6843
59da15acb2f2
Finally fix the bug with pointer declarations polluting namespace with bad records
unc0rr
parents:
6838
diff
changeset
|
77 |
TextFile, file : Handle; |
6853 | 78 |
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
|
79 |
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
|
80 |
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
|
81 |
exitcode : integer; |
7151 | 82 |
stdout, stderr : Handle; |
6853 | 83 |
|
84 |
ParamCount : function : integer; |
|
85 |
ParamStr : function : string; |
|
6838 | 86 |
|
7062 | 87 |
sqrt, arctan2, cos, sin, power : function : float; |
88 |
pi : float; |
|
6838 | 89 |
|
90 |
TypeInfo, GetEnumName : function : shortstring; |
|
91 |
||
92 |
UTF8ToUnicode, WrapText: function : shortstring; |
|
93 |
||
94 |
sizeof : function : integer; |
|
95 |
||
96 |
GetMem : function : pointer; |
|
97 |
FreeMem : procedure; |
|
7064 | 98 |
|
99 |
glGetString : function : pchar; |
|
100 |
||
101 |
glBegin, glBindTexture, glBlendFunc, glClear, glClearColor, |
|
102 |
glColor4ub, glColorMask, glColorPointer, glDeleteTextures, |
|
103 |
glDisable, glDisableClientState, glDrawArrays, glEnable, |
|
104 |
glEnableClientState, glEnd, glGenTextures, glGetIntegerv, |
|
105 |
glHint, glLineWidth, glLoadIdentity, glMatrixMode, glPopMatrix, |
|
106 |
glPushMatrix, glReadPixels, glRotatef, glScalef, glTexCoord2f, |
|
107 |
glTexCoordPointer, glTexImage2D, glTexParameterf, |
|
108 |
glTexParameteri, glTranslatef, glVertex2d, glVertexPointer, |
|
7065 | 109 |
glViewport, glext_LoadExtension, glDeleteRenderbuffersEXT, |
110 |
glDeleteFramebuffersEXT, glGenFramebuffersEXT, |
|
111 |
glGenRenderbuffersEXT, glBindFramebufferEXT, |
|
112 |
glBindRenderbufferEXT, glRenderbufferStorageEXT, |
|
113 |
glFramebufferRenderbufferEXT, glFramebufferTexture2DEXT : procedure; |
|
7064 | 114 |
|
115 |
GL_BGRA, GL_BLEND, GL_CLAMP_TO_EDGE, GL_COLOR_ARRAY, |
|
116 |
GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_DEPTH_COMPONENT, |
|
117 |
GL_DITHER, GL_EXTENSIONS, GL_FALSE, GL_FASTEST, GL_LINEAR, |
|
118 |
GL_LINE_LOOP, GL_LINES, GL_LINE_SMOOTH, GL_LINE_STRIP, |
|
119 |
GL_MAX_TEXTURE_SIZE, GL_MODELVIEW, GL_ONE_MINUS_SRC_ALPHA, |
|
120 |
GL_PERSPECTIVE_CORRECTION_HINT, GL_PROJECTION, GL_QUADS, |
|
121 |
GL_RENDERER, GL_RGBA, GL_RGBA8, GL_SRC_ALPHA, GL_TEXTURE_2D, |
|
122 |
GL_TEXTURE_COORD_ARRAY, GL_TEXTURE_MAG_FILTER, |
|
123 |
GL_TEXTURE_MIN_FILTER, GL_TEXTURE_PRIORITY, GL_TEXTURE_WRAP_S, |
|
124 |
GL_TEXTURE_WRAP_T, GL_TRIANGLE_FAN, GL_TRUE, GL_VENDOR, |
|
7065 | 125 |
GL_VERSION, GL_VERTEX_ARRAY, GLenum, GL_FRAMEBUFFER_EXT, |
126 |
GL_RENDERBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, |
|
7069 | 127 |
GL_COLOR_ATTACHMENT0_EXT, GL_FLOAT, GL_UNSIGNED_BYTE : integer; |
6838 | 128 |
|
129 |
TThreadId : function : integer; |
|
6854
873929cbd54b
Normalize RecordFields before conversion. Helps with namespaces problem.
unc0rr
parents:
6853
diff
changeset
|
130 |
BeginThread, ThreadSwitch : procedure; |
873929cbd54b
Normalize RecordFields before conversion. Helps with namespaces problem.
unc0rr
parents:
6853
diff
changeset
|
131 |
InterlockedIncrement, InterlockedDecrement : procedure; |
6853 | 132 |
|
133 |
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
|
134 |
randomize : procedure; |
6853 | 135 |
|
136 |
Assigned : function : boolean; |
|
6854
873929cbd54b
Normalize RecordFields before conversion. Helps with namespaces problem.
unc0rr
parents:
6853
diff
changeset
|
137 |
|
7151 | 138 |
_strconcat, _strappend, _strprepend, _chrconcat : function : string; |
7054 | 139 |
_strcompare, _strncompare, _strcomparec : function : boolean; |
6893 | 140 |
|
141 |
png_structp, png_set_write_fn, png_get_io_ptr, |
|
142 |
png_get_libpng_ver, png_create_write_struct, |
|
143 |
png_create_info_struct, png_destroy_write_struct, |
|
144 |
png_write_row, png_set_ihdr, png_write_info, |
|
145 |
png_write_end : procedure; |
|
6894 | 146 |
|
147 |
EnumToStr : function : string; |
|
7066
12cc2bd84b0b
Make pas2c even more happier with uGears.c, allow assigning arrays in some cases
unc0rr
parents:
7065
diff
changeset
|
148 |