Skip to content

Commit 945c0ce

Browse files
committed
files for updating the keywords file
1 parent 955555f commit 945c0ce

2 files changed

Lines changed: 350 additions & 0 deletions

File tree

generate/keywords_base.txt

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
# LITERAL1 specifies constants
2+
3+
ADD LITERAL1
4+
ALIGN_CENTER LITERAL1
5+
ALIGN_LEFT LITERAL1
6+
ALIGN_RIGHT LITERAL1
7+
ALPHA LITERAL1
8+
ALPHA_MASK LITERAL1
9+
ALT LITERAL1
10+
AMBIENT LITERAL1
11+
ARROW LITERAL1
12+
ARGB LITERAL1
13+
BACKSPACE LITERAL1
14+
BEVEL LITERAL1
15+
BLEND LITERAL1
16+
BLUE_MASK LITERAL1
17+
BLUR LITERAL1
18+
CENTER LITERAL1
19+
CENTER_RADIUS LITERAL1
20+
CHATTER LITERAL1
21+
CODED LITERAL1
22+
COMPLAINT LITERAL1
23+
COMPOSITE LITERAL1
24+
COMPONENT LITERAL1
25+
CONCAVE_POLYGON LITERAL1
26+
CONTROL LITERAL1
27+
CONVEX_POLYGON LITERAL1
28+
CORNER LITERAL1
29+
CORNERS LITERAL1
30+
CROSS LITERAL1
31+
CUSTOM LITERAL1
32+
DARKEST LITERAL1
33+
DEGREES LITERAL1
34+
DEG_TO_RAD LITERAL1
35+
DELETE LITERAL1
36+
DIFFERENCE LITERAL1
37+
DIFFUSE LITERAL1
38+
DISABLE_TEXT_SMOOTH LITERAL1
39+
DISABLED LITERAL1
40+
DOWN LITERAL1
41+
ENTER LITERAL1
42+
EPSILON LITERAL1
43+
ESC LITERAL1
44+
BLEND LITERAL1
45+
GIF LITERAL1
46+
GREEN_MASK LITERAL1
47+
GREY LITERAL1
48+
HAND LITERAL1
49+
HALF LITERAL1
50+
HALF_PI LITERAL1
51+
HARD_LIGHT LITERAL1
52+
HSB LITERAL1
53+
IMAGE LITERAL1
54+
INVERT LITERAL1
55+
JAVA2D LITERAL1
56+
JPEG LITERAL1
57+
LEFT LITERAL1
58+
LIGHTEST LITERAL1
59+
LINES LITERAL1
60+
MAX_FLOAT LITERAL1
61+
MITER LITERAL1
62+
MODEL LITERAL1
63+
MOVE LITERAL1
64+
MULTIPLY LITERAL1
65+
NORMALIZED LITERAL1
66+
NO_DEPTH_TEST LITERAL1
67+
NTSC LITERAL1
68+
ORTHOGRAPHIC LITERAL1
69+
OPAQUE LITERAL1
70+
OPENGL LITERAL1
71+
ONE LITERAL1
72+
OVERLAY LITRRAL1
73+
PAL LITERAL1
74+
P2D LITERAL1
75+
P3D LITERAL1
76+
PERSPECTIVE LITERAL1
77+
PI LITERAL1
78+
PIXEL_CENTER LITERAL1
79+
POINTS LITERAL1
80+
POLYGON LITERAL1
81+
POSTERIZE LITERAL1
82+
PROBLEM LITERAL1
83+
PROJECT LITERAL1
84+
QUADS LITERAL1
85+
QUAD_STRIP LITERAL1
86+
QUARTER_PI LITERAL1
87+
RAD_TO_DEG LITERAL1
88+
RADIANS LITERAL1
89+
RED_MASK LITERAL1
90+
REPLACE LITERAL1
91+
RETURN LITERAL1
92+
RGB LITERAL1
93+
RIGHT LITERAL1
94+
ROUND LITERAL1
95+
SCREEN LITERAL1
96+
SECAM LITERAL1
97+
SHIFT LITERAL1
98+
SPECULAR LITERAL1
99+
SOFT_LIGHT LITERAL1
100+
SQUARE LITERAL1
101+
SUBTRACT LITERAL1
102+
SVIDEO LITERAL1
103+
TAB LITERAL1
104+
TARGA LITERAL1
105+
TEXT LITERAL1
106+
TIFF LITERAL1
107+
TFF LITERAL1
108+
THRESHOLD LITERAL1
109+
THIRD_PI LITERAL1
110+
TRIANGLE_FAN LITERAL1
111+
TRIANGLES LITERAL1
112+
TRIANGLE_STRIP LITERAL1
113+
TUNER LITERAL1
114+
TWO LITERAL1
115+
TWO_PI LITERAL1
116+
UP LITERAL1
117+
WAIT LITERAL1
118+
WHITESPACE LITERAL1
119+
false LITERAL1
120+
null LITERAL1
121+
super LITERAL1
122+
this LITERAL1
123+
true LITERAL1
124+
125+
126+
# KEYWORD1 specifies datatypes
127+
128+
Boolean KEYWORD1
129+
Byte KEYWORD1
130+
Character KEYWORD1
131+
Class KEYWORD1
132+
Double KEYWORD1
133+
Float KEYWORD1
134+
Integer KEYWORD1
135+
Math KEYWORD1
136+
String KEYWORD1
137+
StringBuffer KEYWORD1
138+
Thread KEYWORD1
139+
abstract KEYWORD1
140+
catch KEYWORD1
141+
class KEYWORD1
142+
continue KEYWORD1
143+
default KEYWORD1
144+
do KEYWORD1
145+
double KEYWORD1
146+
extends KEYWORD1
147+
final KEYWORD1
148+
finally KEYWORD1
149+
import KEYWORD1
150+
implements KEYWORD1
151+
instanceof KEYWORD1
152+
interface KEYWORD1
153+
long KEYWORD1
154+
native KEYWORD1
155+
package KEYWORD1
156+
private KEYWORD1
157+
protected KEYWORD1
158+
public KEYWORD1
159+
return KEYWORD1
160+
short KEYWORD1
161+
static KEYWORD1
162+
switch KEYWORD1
163+
synchronized KEYWORD1
164+
throw KEYWORD1
165+
throws KEYWORD1
166+
transient KEYWORD1
167+
try KEYWORD1
168+
void KEYWORD1
169+
volatile KEYWORD1
170+
171+
172+
# KEYWORD2 specifies methods and functions
173+
174+
cache KEYWORD2
175+
curveSegments KEYWORD2
176+
hint KEYWORD2
177+
unHint KEYWORD2
178+
179+
180+
# THE TEXT ABOVE IS HAND-WRITTEN AND FOUND IN THE FILE "keywords_base.txt"
181+
# THE TEXT BELOW IS AUTO-GENERATED

generate/keywords_create.cgi

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
#!/usr/bin/perl
2+
#require 'globals_API.pl';
3+
#require 'globals.pl';
4+
5+
6+
# CURRENT BUGS
7+
# Making a line with \t\tblank
8+
# fixed: [] array access symbols are not appearing
9+
# ??? there are overlaps when methods are included (blend() and image.blend())
10+
11+
12+
#$dir = "API";
13+
$dir = "../content/api_en/";
14+
# This path is for the configuration on Casey's local machine
15+
$path = "../../processing/build/shared/lib/";
16+
17+
# Open base file and copy into array
18+
open (BASE, "keywords_base.txt") || die "can't open keywords_base.txt: $!";
19+
@baseinfo = <BASE>;
20+
close(BASE);
21+
chomp(@baseinfo);
22+
23+
foreach $bi (@baseinfo) {
24+
push(@modfiles, $bi)
25+
}
26+
27+
# Add a blank line to separate the data
28+
push(@modfiles, "\n");
29+
30+
opendir(DIR, $dir) || die $!;
31+
@tempfiles = readdir(DIR);
32+
closedir(DIR);
33+
34+
foreach $temp (@tempfiles) {
35+
if($temp =~ ".xml" && !($temp =~ "~")) {
36+
get_data("$temp");
37+
if(strip_name($name) ne "") {
38+
push(@modfiles, strip_name($name) . "\t" . set_category() . "\t" . file_name_convert($temp));
39+
}
40+
}
41+
}
42+
43+
44+
open(KEYWORDS, ">$path/keywords.txt");
45+
46+
foreach $temp (@modfiles) {
47+
# Add additional API to file
48+
print KEYWORDS "$temp\n";
49+
print "$temp\n";
50+
}
51+
52+
close(KEYWORDS);
53+
54+
55+
56+
57+
58+
sub get_data
59+
{
60+
open (CAT, "$dir/$_[0]") || die "can't open $_[0]: $!";
61+
@cat = "";
62+
while (<CAT>) {
63+
chomp;
64+
push(@cat, $_);
65+
#print "$_\n";
66+
}
67+
close CAT;
68+
foreach $el (@cat) {
69+
if(grep{/^<type>/} $el) {
70+
$type_cat = $el;
71+
$type_cat =~ s/<type>//;
72+
$type_cat =~ s/<\/type>//;
73+
}
74+
if(grep{/^<name>/} $el) {
75+
$name_cat = $el;
76+
$name_cat =~ s/<name>//;
77+
$name_cat =~ s/<\/name>//;
78+
}
79+
}
80+
$type = $type_cat;
81+
$name = $name_cat;
82+
}
83+
84+
sub strip_name
85+
{
86+
local ($page) = @_[0];
87+
88+
# Exceptions for constants with PI
89+
if($page =~ /PI/) {
90+
$_ = $page;
91+
$page =~ s/\(.*\)//g; # Remove all between parenthesis
92+
$page =~ s/\s//g; # Remove the spaces
93+
#print("$page\n");
94+
}
95+
96+
$_ = $page;
97+
if(!($page =~ s/\(\)//g)) # Truncate all functions
98+
{
99+
# Exception for the case of pixels[] and vpixels[]
100+
if(/pixels\[\]/) {
101+
$page =~ s/\[\]//g;
102+
}
103+
104+
# Exception for the case of all operators
105+
if(/\(.*\)/) {
106+
#$page = $&;
107+
$tp = $&; # Get the entire match
108+
$page =~ s/$tp//g; # Remove the entire match
109+
$page =~ s/\(//g; # Remove the left paren
110+
$page =~ s/\)//g; # Remove the right paren
111+
}
112+
}
113+
114+
# Exception for the case of () (parenthesis)
115+
if($page =~ /paren/) {
116+
#$tp = $&; # Get the entire match
117+
$page =~ s/\(.*\)/()/g; # Remove the entire match
118+
}
119+
120+
$page =~ s/\s//g; # Remove the spaces
121+
$page =~ s/\&lt;/\</g; # Replace <
122+
$page =~ s/\&gt;/\</g; # Replace >
123+
$page =~ s/\&amp;/\&/g; # Replace &
124+
$page =~ s/\*\///g; # Replace */
125+
126+
127+
return $page;
128+
}
129+
130+
sub set_category
131+
{
132+
if($type =~ s/constant/constant/i) {
133+
$category = "LITERAL1";
134+
} elsif ($type =~ s/variable/variable/i || $type =~ s/field/field/i ) {
135+
$category = "LITERAL2";
136+
} elsif ($type =~ s/datatype/datatype/i || $type =~ s/structure/structure/i ||
137+
$type =~ s/keyword/keyword/i || $type =~ s/object/object/i ) {
138+
$category = "KEYWORD1";
139+
} elsif ($type =~ s/function/method/i || $type =~ s/method/method/i ) {
140+
$category = "KEYWORD2";
141+
} else {
142+
$category = "";
143+
}
144+
145+
if($type =~ s/processing//i) {
146+
$category = "KEYWORD3";
147+
}
148+
149+
return $category;
150+
}
151+
152+
sub file_name_convert
153+
{
154+
local ($thisfile) = @_[0];
155+
156+
# Remove the "xml" from the files
157+
$thisfile =~ s/\.xml//;
158+
159+
# Remove the "converts" from the xml files
160+
$thisfile =~ s/convert//;
161+
162+
# Remove the "_var" from the xml files
163+
$thisfile =~ s/_var//;
164+
if(($type =~ /function/i) || ($type =~ /structure/i) ||($type =~ /method/i)) {
165+
$thisfile = $thisfile . "_";
166+
}
167+
168+
return $thisfile;
169+
}

0 commit comments

Comments
 (0)