• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

BASIC compiler/interpreter for PIC32MX/MZ-80K


Commit MetaInfo

Revisão1d57db82bd33e6d21f562e8c6771589a4169b086 (tree)
Hora2019-04-10 06:25:39
AutorKatsumi <kmorimatsu@sour...>
CommiterKatsumi

Mensagem de Log

Add js files to protozoa repository

Mudança Sumário

Diff

--- a/mips/protozoa/protozoa.mcp
+++ b/mips/protozoa/protozoa.mcp
@@ -65,6 +65,8 @@ file_037=.
6565 file_038=.
6666 file_039=.
6767 file_040=.
68+file_041=.
69+file_042=.
6870 [GENERATED_FILES]
6971 file_000=no
7072 file_001=no
@@ -107,6 +109,8 @@ file_037=no
107109 file_038=no
108110 file_039=no
109111 file_040=no
112+file_041=no
113+file_042=no
110114 [OTHER_FILES]
111115 file_000=no
112116 file_001=no
@@ -149,6 +153,8 @@ file_037=no
149153 file_038=no
150154 file_039=no
151155 file_040=no
156+file_041=yes
157+file_042=yes
152158 [FILE_INFO]
153159 file_000=args.c
154160 file_001=class.c
@@ -191,6 +197,8 @@ file_037=interface\SDFSIO.h
191197 file_038=interface\videoout.h
192198 file_039=interface\libsdfsio.a
193199 file_040=App_32MX170F256B.ld
200+file_041=reservednames.js
201+file_042=sharedfiles.js
194202 [SUITE_INFO]
195203 suite_guid={62D235D8-2DB2-49CD-AF24-5489A6015337}
196204 suite_state=
--- /dev/null
+++ b/mips/protozoa/reservednames.js
@@ -0,0 +1,188 @@
1+/*
2+ This file is provided under the LGPL license ver 2.1.
3+ Written by Katsumi.
4+ http://hp.vector.co.jp/authors/VA016157/
5+ kmorimatsu@users.sourceforge.jp
6+*/
7+
8+/*
9+ This script is to make lines of reserved words for long var names.
10+*/
11+
12+function name2int(name){
13+ var g_source=name+'$';
14+ var g_srcpos=0;
15+ var prevpos=0;
16+ var i=0;
17+ var b1=g_source.charCodeAt(0);
18+ do {
19+ // First character must be A-Z
20+ // From second, A-Z and 0-9 can be used.
21+ i*=36;
22+ if ('0'.charCodeAt(0)<=b1 && b1<='9'.charCodeAt(0)) {
23+ i+=b1-'0'.charCodeAt(0);
24+ } else if (g_srcpos==prevpos) {
25+ // First character must be A-Z.
26+ // Subtract 9, resulting 1-26 but not 10-35.
27+ // This subtraction is required to maintain
28+ // final number being <0x80000000.
29+ i+=b1-'A'.charCodeAt(0)+1;
30+ } else {
31+ i+=b1-'A'.charCodeAt(0)+10;
32+ }
33+ g_srcpos++;
34+ b1=g_source.charCodeAt(g_srcpos);
35+ } while ('0'.charCodeAt(0)<= b1 && b1<='9'.charCodeAt(0) || 'A'.charCodeAt(0)<=b1 && b1<='Z'.charCodeAt(0));
36+ return i+65536;
37+}
38+
39+var namearray=[
40+ 'ABS',
41+ 'ACOS',
42+ 'ARGS',
43+ 'ASC',
44+ 'ASIN',
45+ 'ATAN',
46+ 'ATAN2',
47+ 'BREAK',
48+ 'CALL',
49+ 'CDATA',
50+ 'CEIL',
51+ 'CHR',
52+ 'CIRCLE',
53+ 'CLEAR',
54+ 'CLS',
55+ 'COLOR',
56+ 'COS',
57+ 'COSH',
58+ 'CREAD',
59+ 'CURSOR',
60+ 'DATA',
61+ 'DEC',
62+ 'DELETE',
63+ 'DIM',
64+ 'DO',
65+ 'ELSE',
66+ 'ELSEIF',
67+ 'END',
68+ 'ENDIF',
69+ 'EXEC',
70+ 'EXP',
71+ 'FABS',
72+ 'FCLOSE',
73+ 'FEOF',
74+ 'FGET',
75+ 'FGETC',
76+ 'FIELD',
77+ 'FILE',
78+ 'FINPUT',
79+ 'FLEN',
80+ 'FLOAT',
81+ 'FLOOR',
82+ 'FMOD',
83+ 'FOPEN',
84+ 'FOR',
85+ 'FPRINT',
86+ 'FPUT',
87+ 'FPUTC',
88+ 'FSEEK',
89+ 'GCLS',
90+ 'GCOLOR',
91+ 'GETDIR',
92+ 'GOSUB',
93+ 'GOTO',
94+ 'GPRINT',
95+ 'HEX',
96+ 'IDLE',
97+ 'IF',
98+ 'INKEY',
99+ 'INPUT',
100+ 'INT',
101+ 'KEYS',
102+ 'LABEL',
103+ 'LEN',
104+ 'LET',
105+ 'LINE',
106+ 'LOG',
107+ 'LOG10',
108+ 'LOOP',
109+ 'MODF',
110+ 'MUSIC',
111+ 'NEXT',
112+ 'NEW',
113+ 'NOT',
114+ 'OPTION',
115+ 'PCG',
116+ 'PEEK',
117+ 'PEEK16',
118+ 'PEEK32',
119+ 'PI',
120+ 'POINT',
121+ 'POKE',
122+ 'POKE16',
123+ 'POKE32',
124+ 'POW',
125+ 'PRINT',
126+ 'PSET',
127+ 'PUBLIC',
128+ 'PUTBMP',
129+ 'READ',
130+ 'REM',
131+ 'RETURN',
132+ 'RND',
133+ 'SCROLL',
134+ 'SETDIR',
135+ 'SGN',
136+ 'SIN',
137+ 'SINH',
138+ 'SOUND',
139+ 'SQRT',
140+ 'SYSTEM',
141+ 'TAN',
142+ 'TANH',
143+ 'TIMER',
144+ 'TVRAM',
145+ 'UNTIL',
146+ 'USEPCG',
147+ 'USEVAR',
148+ 'VAL',
149+ 'VAR',
150+ 'WAIT',
151+ 'WEND',
152+ 'WHILE',
153+ 'WIDTH',
154+ // For megalopa
155+ '// For Megalopa',
156+ 'OUT',
157+ 'OUT8H',
158+ 'OUT8L',
159+ 'OUT16',
160+ 'IN',
161+ 'IN8H',
162+ 'IN8L',
163+ 'IN16',
164+ 'ANALOG',
165+ 'PWM',
166+ 'SERIAL',
167+ 'SPI',
168+ 'I2C',
169+];
170+var result='';
171+for(key in namearray){
172+ var nameint='0000'+name2int(namearray[key]).toString(16);
173+ nameint=nameint.substr(nameint.length-8);
174+ if (namearray[key].substr(0,2)=='//') {
175+ // This is a comment
176+ result+=namearray[key]+"\r\n";
177+ } else {
178+ result+="\t0x"+nameint+", /*"+namearray[key]+"*/\r\n";
179+ }
180+}
181+
182+var fso = new ActiveXObject("Scripting.FileSystemObject");
183+var file = fso.CreateTextFile("result.txt");
184+file.Write(result);
185+file.Close();
186+
187+WScript.Echo('Done!');
188+
--- /dev/null
+++ b/mips/protozoa/sharedfiles.js
@@ -0,0 +1,61 @@
1+/*
2+' This file is provided under the LGPL license ver 2.1.',
3+' Written by Katsumi.',
4+ http://hp.vector.co.jp/authors/VA016157/
5+' kmorimatsu@users.sourceforge.jp',
6+*/
7+
8+/*
9+' This script is to copy shared files.',
10+*/
11+
12+var filearray=[
13+ 'args.c',
14+ 'class.c',
15+ 'cmpdata.c',
16+ 'compiler.c',
17+ 'debug.c',
18+ 'error.c',
19+ 'exception.c',
20+ 'file.c',
21+ 'float.c',
22+ 'function.c',
23+ 'globalvars.c',
24+ 'library.c',
25+ 'linker.c',
26+ 'memory.c',
27+ 'operator.c',
28+ 'run.c',
29+ 'string.c',
30+ 'statement.c',
31+ 'timer.c',
32+ 'value.c',
33+ 'varname.c',
34+ 'compiler.h',
35+ 'debug.h',
36+ 'reservednames.js',
37+ 'sharedfiles.js',
38+ 'class.txt',
39+];
40+
41+var WshShell = WScript.CreateObject("WScript.Shell");
42+var FSO = WScript.CreateObject("Scripting.FileSystemObject");
43+
44+
45+// Create a folder on desktop
46+try {
47+ var SharedFiles=WshShell.SpecialFolders("Desktop") + '\\sharedfiles\\';
48+ FSO.CreateFolder(SharedFiles);
49+} catch (e) {
50+ WScript.Echo('"sharedfiles" folder already exists on desktop!');
51+ WScript.Quit();
52+}
53+
54+// Copy files to 'sharedfiles' directory
55+for(var i in filearray){
56+ FSO.CopyFile (filearray[i],SharedFiles + filearray[i]);
57+}
58+
59+// All done
60+WScript.Echo('Done!');
61+