Changeset 20149
- Timestamp:
- 09/28/08 18:57:38 (5 years ago)
- Location:
- lang/javascript/ipodfx
- Files:
-
- 10 modified
-
css/default.css (modified) (2 diffs)
-
index.html (modified) (3 diffs, 1 prop)
-
js/Buffer.class.js (modified) (4 diffs)
-
js/KeyArea.class.js (modified) (1 diff)
-
js/Parser.class.js (modified) (5 diffs)
-
js/eval.js (modified) (2 diffs)
-
js/keyBoard.js (modified) (2 diffs)
-
js/main.js (modified) (5 diffs)
-
js/tag.js (modified) (1 diff)
-
parseTest.html (modified) (2 diffs, 1 prop)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/ipodfx/css/default.css
r19987 r20149 6 6 .keyzoom { 7 7 position: absolute; 8 left: 390 ;9 top: 200 ;8 left: 390px; 9 top: 200px; 10 10 background-color: black; 11 11 color: #00ffff; … … 16 16 position: absolute; 17 17 font-size: 20pt; 18 color: #000040 18 color: #000040; 19 19 } -
lang/javascript/ipodfx/index.html
- Property svn:mime-type set to text/html; charset=UTF-8
r19987 r20149 16 16 </head> 17 17 18 <body onload="init();" 19 onmousemove="move(event);" 18 <body onload="init();" 19 onmousemove="move(event);" 20 20 onmousedown="down(event);" 21 onmouseup="up(event);" >22 21 onmouseup="up(event);"> 22 23 23 <!--タッチ数: <span id="touchnum"></span><br> 24 24 タッチ0: X:<span id="loc0_x"></span>, Y:<span id="loc0_y"></span><br> … … 29 29 <span id="text"></span><BR> 30 30 <span id="buffer"></span><BR> 31 31 32 32 <span class="keyboard" id="0">0</span> 33 33 <span class="keyboard" id="1">1</span> … … 47 47 <span class="keyboard" id="→">→</span> 48 48 <span class="keyboard" id="A">A</span> 49 49 50 50 <span class="keyboard" id="Exe">Exe</span> 51 51 52 52 <span class="keyzoom" id="zoom"></span> 53 53 </body></html> -
lang/javascript/ipodfx/js/Buffer.class.js
r19987 r20149 1 1 2 2 Buffer=Class.create(); 3 Buffer.prototype= {3 Buffer.prototype={ 4 4 initialize: function () { 5 5 this.curX=0; 6 6 this.letters=[]; 7 7 }, 8 clear: function () {8 clear: function () { 9 9 this.curX=0; 10 10 $("buffer").innerHTML=""; … … 13 13 add: function (t) { 14 14 var l=this.lastLetter(); 15 if (l!=null && l.text==null) { alert (Object.toJSON(l)); }16 if (l!=null && l.text!=null && l.text.match==null) { alert (Object.toJSON(l)); }15 if (l!=null && l.text==null) { alert (Object.toJSON(l)); } 16 if (l!=null && l.text!=null && l.text.match==null) { alert (Object.toJSON(l)); } 17 17 if (l!=null && l.text.match(/[0-9]$/) && t.match(/^[0-9]+$/)) { 18 18 l.append(t); … … 20 20 } 21 21 if (l!=null) { 22 this.curX+=l.w+10; 22 this.curX+=l.w+10; 23 23 } else { 24 24 this.curX=0; 25 25 } 26 26 27 27 var c=$("text").innerHTML; 28 if (c. match(/ERR:/)) { c=""; this.clear();}28 if (c.indexOf("ERR:")>-1) { c=""; this.clear(); } 29 29 l=new Letter(this.curX,50,t); 30 30 this.letters.push(l); … … 32 32 }, 33 33 getText: function () { 34 return this.getTextArray(t).join("");34 return this.getTextArray(t).join(""); 35 35 }, 36 36 getTextArray: function () { 37 return this.letters.map(function (e){return e.text;});37 return this.letters.map(function (e){ return e.text; }); 38 38 }, 39 39 lastLetter: function () { -
lang/javascript/ipodfx/js/KeyArea.class.js
r19987 r20149 11 11 //alert("?"+(this.x<=x) + (x<=this.x+this.w) + 12 12 // (this.y<=y) + (y<=this.y+this.h)); 13 return( 13 return( 14 14 (this.x<=x) && (x<=this.x+this.w) && 15 15 (this.y<=y) && (y<=this.y+this.h) ); -
lang/javascript/ipodfx/js/Parser.class.js
r19987 r20149 1 1 2 2 Parser=Class.create(); 3 Parser.prototype={ 3 Parser.prototype={ 4 4 initialize: function (tokens) { 5 5 this.tokens=tokens; … … 11 11 var str=this.next(); 12 12 if (pattern instanceof RegExp) { 13 if ( str.match(pattern)) {13 if (pattern.test(str)) { 14 14 return str; 15 15 } … … 31 31 } catch (e) { 32 32 this.restore(p); 33 } 33 } 34 34 } 35 throw this.lastEx; 35 throw this.lastEx; 36 36 }, 37 37 maybe: function (proc) { … … 47 47 var r=[]; 48 48 while (true) { 49 var p=this.save();50 try {51 var e=proc();52 r.push(e);49 var p=this.save(); 50 try { 51 var e=proc(); 52 r.push(e); 53 53 } catch (e) { 54 54 this.restore(p); … … 57 57 } 58 58 }, 59 save: function () {59 save: function () { 60 60 return this.p; 61 61 }, 62 62 restore: function (p) { 63 this.p=p; 63 this.p=p; 64 64 }, 65 65 next: function () { 66 return this.tokens[this.p++];66 return this.tokens[this.p++]; 67 67 }, 68 68 setError: function (e) { 69 if (this.p>=this.errPoint) {70 this.lastEx=e;71 thie.errPoint=this.p;69 if (this.p>=this.errPoint) { 70 this.lastEx=e; 71 thie.errPoint=this.p; 72 72 } 73 73 }, 74 74 checkGoal: function (e) { 75 if (this.p<this.tokens.length) throw this.lastEx;75 if (this.p<this.tokens.length) throw this.lastEx; 76 76 } 77 77 }; -
lang/javascript/ipodfx/js/eval.js
r19987 r20149 8 8 function parseStatement() { 9 9 return ["statement", 10 parseExpr() ,11 t.maybe(function () {12 return [t.tk("→"), parseSymbol() ];13 })10 parseExpr() , 11 t.maybe(function () { 12 return [t.tk("→"), parseSymbol() ]; 13 }) 14 14 ]; 15 15 } 16 16 17 17 // expr := elem ( op elem )* 18 18 function parseExpr() { 19 19 return ["expr", parseElem(), 20 t.rept(function () {21 return [t.tk(/[\+\-\/\*]/), parseElem()] ; 22 })20 t.rept(function () { 21 return [t.tk(/[-+\/*]/), parseElem()]; 22 }) 23 23 ]; 24 24 } 25 26 // elem |= num symbol 25 26 // elem |= num symbol 27 27 function parseElem() { 28 28 return t.or(parseNum,parseSymbol); … … 40 40 //print (lst);//Object.toJSON(lst)); 41 41 if (lst instanceof Array) { 42 switch (lst[0]) {43 case "statement":44 //["statement", EXPR , ["→", ["symbol", "a"]]]45 var res=exe(lst[1], env);46 if (lst[2].length>0) {47 env[ lst[2][1][1] ]=res;48 }49 return res;50 case "num":51 //["num", "2"]52 return new Number(lst[1]);53 case "symbol":54 //["symbol", "a"]55 return env[ lst[1] ];56 case "expr":57 //["expr", ["num", "3"], [["+", ["num", "2"]], ["-", ["num", "5"]]]]58 var res=exe(lst[1],env);59 //print ("EVR "+res);60 var rest=lst[2];61 rest.each (function (e) {62 // ["+", ["num", "2"]]63 if (e[0]=="+") res+=exe(e[1],env);64 if (e[0]=="-") res-=exe(e[1],env);65 if (e[0]=="*") res*=exe(e[1],env);66 if (e[0]=="/") res/=exe(e[1],env);67 //print ("EVR "+res);68 });69 return res;70 }42 switch (lst[0]) { 43 case "statement": 44 //["statement", EXPR , ["→", ["symbol", "a"]]] 45 var res=exe(lst[1], env); 46 if (lst[2].length>0) { 47 env[ lst[2][1][1] ]=res; 48 } 49 return res; 50 case "num": 51 //["num", "2"] 52 return new Number(lst[1]); 53 case "symbol": 54 //["symbol", "a"] 55 return env[ lst[1] ]; 56 case "expr": 57 //["expr", ["num", "3"], [["+", ["num", "2"]], ["-", ["num", "5"]]]] 58 var res=exe(lst[1],env); 59 //print ("EVR "+res); 60 var rest=lst[2]; 61 rest.each (function (e) { 62 // ["+", ["num", "2"]] 63 if (e[0]=="+") res+=exe(e[1],env); 64 if (e[0]=="-") res-=exe(e[1],env); 65 if (e[0]=="*") res*=exe(e[1],env); 66 if (e[0]=="/") res/=exe(e[1],env); 67 //print ("EVR "+res); 68 }); 69 return res; 70 } 71 71 } 72 72 } -
lang/javascript/ipodfx/js/keyBoard.js
r19987 r20149 12 12 }; 13 13 }; 14 if (k=="Exe") act=function () {14 if (k=="Exe") act=function () { 15 15 $("zoom").innerHTML=k; 16 onUp=exeCmd; 16 onUp=exeCmd; 17 17 }; 18 18 objects.push(new KeyArea(x,y,w,h,act)); 19 } 19 }; 20 20 key="0"; 21 21 regObject(key,x,y,px,py); 22 22 y-=py; 23 23 24 24 key="1"; 25 25 regObject(key,x,y,px,py); 26 26 x+=px; 27 27 28 28 key="2"; 29 29 regObject(key,x,y,px,py); 30 30 x+=px; 31 31 32 32 key="3"; 33 33 regObject(key,x,y,px,py); 34 34 y-=py; x-=px*2; 35 35 36 36 key="4"; 37 37 regObject(key,x,y,px,py); 38 38 x+=px; 39 39 40 40 key="5"; 41 41 regObject(key,x,y,px,py); 42 42 x+=px; 43 43 44 44 key="6"; 45 45 regObject(key,x,y,px,py); 46 46 y-=py; x-=px*2; 47 47 48 48 key="7"; 49 49 regObject(key,x,y,px,py); 50 50 x+=px; 51 51 52 52 key="8"; 53 53 regObject(key,x,y,px,py); 54 54 x+=px; 55 55 56 56 key="9"; 57 57 regObject(key,x,y,px,py); 58 58 59 59 y-=py; x-=px*3; 60 60 key="/"; … … 72 72 x+=px; 73 73 74 74 75 75 y+=py; 76 76 key="*"; 77 77 regObject(key,x,y,px,py); 78 78 79 79 y+=py; 80 80 key="-"; 81 81 regObject(key,x,y,px,py); 82 82 83 83 y+=py; 84 84 key="+"; 85 85 regObject(key,x,y,px,py); 86 87 86 87 88 88 y+=py; 89 89 key="Exe"; -
lang/javascript/ipodfx/js/main.js
r19987 r20149 5 5 var onUp=NOP; 6 6 function init() { 7 7 8 8 document.addEventListener("touchstart", touchHandler, false); 9 9 document.addEventListener("touchmove", touchHandler, false); 10 10 document.addEventListener("touchend", touchHandler, false); 11 11 //document.addEventListener("touchcancel", touchHandler, false); 12 numberBoard(); 12 numberBoard(); 13 13 } 14 14 … … 19 19 buffer.clear(); 20 20 buffer.add(res); 21 $("text").innerHTML="" ;21 $("text").innerHTML=""; 22 22 } catch (e) { 23 23 buffer.clear(); … … 49 49 function move(event) { 50 50 if (downing) { 51 var ne={touches: [ event ], preventDefault:NOP };51 var ne={touches: [ event ], preventDefault:NOP}; 52 52 touchHandler(ne); 53 53 } 54 54 } 55 55 function up(event) { 56 var ne={touches:[], preventDefault:NOP };56 var ne={touches:[], preventDefault:NOP}; 57 57 touchHandler(ne); 58 58 downing=false; … … 68 68 var app=indent; 69 69 $A(arguments).each(function (e) { 70 if (typeof (e)=="object") {71 app+=Object.toJSON(e);70 if (typeof e=="object") { 71 app+=Object.toJSON(e); 72 72 } else { 73 if (e==">") indent+="--";74 else if (e=="<") indent=indent.substring("--".length);75 else app+=e;73 if (e==">") indent+="--"; 74 else if (e=="<") indent=indent.substring("--".length); 75 else app+=e; 76 76 } 77 77 app+=" "; … … 79 79 var c=$("console"); 80 80 if (c) { 81 consoleBuf+=app+"<BR>\n";82 c.innerHTML=consoleBuf;81 consoleBuf+=app+"<BR>\n"; 82 c.innerHTML=consoleBuf; 83 83 } else {alert(app);} 84 84 } -
lang/javascript/ipodfx/js/tag.js
r19987 r20149 8 8 if (a instanceof Function) return a(target); 9 9 if (a==null) { 10 var res;11 var pl=function () {};12 pl.prototype={ appendChild:function (r){res=r;} };13 elem(new pl(),target);14 return res;10 var res; 11 var pl=function () {}; 12 pl.prototype={ appendChild:function (r){res=r;} }; 13 elem(new pl(),target); 14 return res; 15 15 } 16 return elemObj(target, a); 16 return elemObj(target, a); 17 17 } 18 18 19 19 function elemStr(target, s) { 20 20 //alert("Str : "+s); 21 var res=document.createTextNode(s) 21 var res=document.createTextNode(s); 22 22 target.appendChild (res); 23 23 return res; 24 24 } 25 25 function elemArray(target, a) { 26 if (a[0] instanceof Function) { 27 var args=[];28 for (var i=1 ; i<a.length ; i++) {29 args[args.length]=a[i];30 }31 return a[0](target,args);32 } 33 if (typeof (a[0])=="string") {26 if (a[0] instanceof Function) { 27 var args=[]; 28 for (var i=1 ; i<a.length ; i++) { 29 args[args.length]=a[i]; 30 } 31 return a[0](target,args); 32 } 33 if (typeof a[0]=="string") { 34 34 var e=document.createElement(a[0]); 35 35 for (var i=1 ; i<a.length ; i++) { 36 elem(e,a[i]);37 } 36 elem(e,a[i]); 37 } 38 38 target.appendChild(e); 39 39 return e; 40 40 } 41 41 for (var i=0 ; i<a.length ; i++) { 42 elem(target,a[i]);43 } 42 elem(target,a[i]); 43 } 44 44 return target; 45 45 } 46 46 function elemObj(target,o) { 47 47 for (var i in o) { 48 if (i.match(/^on/)) {49 if (target.addEventListener) {50 target.addEventListener(i.substring(2).toLowerCase(),o[i],false);51 } else {52 target.attachEvent(i.toLowerCase(),o[i]);53 }54 } else {55 target[i]=o[i];56 }48 if (i.indexOf("on")==0) { 49 if (target.addEventListener) { 50 target.addEventListener(i.substring(2).toLowerCase(),o[i],false); 51 } else { 52 target.attachEvent(i.toLowerCase(),o[i]); 53 } 54 } else { 55 target[i]=o[i]; 56 } 57 57 } 58 58 } -
lang/javascript/ipodfx/parseTest.html
- Property svn:mime-type set to text/html; charset=UTF-8
r19987 r20149 14 14 <script type="text/javascript" src="js/Parser.class.js" charset="utf-8"></script> 15 15 <script type="text/javascript" src="js/eval.js" charset="utf-8"></script> 16 <script>16 <script type="text/javascript"> 17 17 function init() { 18 18 print( eval2([ … … 25 25 "a", "*" ,"b" 26 26 ]) ) ; 27 28 27 } 29 </script>28 </script> 30 29 </head> 31 <body onload="init();" >30 <body onload="init();"> 32 31 <span id="console"></span> 33 32 </body></html>
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)