1 | !636 |
2 | !class JavaTok |
3 | |
4 | main { |
5 | psvm { |
6 | String out = "[[import]] java.*; [[import]] javax.*;"; |
7 | Set<Integer> markers = new HashSet<Integer>(getFindMarkers(out)); |
8 | String in = out.replace("[[", "").replace("]]", ""); |
9 | List<String> l = JavaTok.split(in); |
10 | int i = 0; |
11 | for (String t : l) { |
12 | if (t.length() != 0 && markers.contains(i) && markers.contains(i+t.length())) |
13 | System.out.println("Marked token found: " + t + " at " + i); |
14 | i += t.length(); |
15 | } |
16 | } |
17 | |
18 | static List<Integer> getFindMarkers(String s) { |
19 | List<Integer> l = new ArrayList<Integer>(); |
20 | int i = 0, ofs = 0; |
21 | while (i < s.length()) { |
22 | int j = s.indexOf("[[", i); |
23 | if (j < 0) break; |
24 | int k = s.indexOf("]]", j+2); |
25 | if (k < 0) break; |
26 | l.add(j-ofs); |
27 | ofs += 2; |
28 | l.add(k-ofs); |
29 | ofs += 2; |
30 | i = k+2; |
31 | } |
32 | /*int[] result = new int[l.size()]; |
33 | for (i = 0; i < result.length; i++) |
34 | result[i] = l.get(i); |
35 | return result;*/ |
36 | return l; |
37 | } |
38 | } |
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1000466 |
Snippet name: | JavaTok + finding test |
Eternal ID of this version: | #1000466/1 |
Text MD5: | 3adfdb8c3a8debd85ef550533b68bd3d |
Author: | stefan |
Category: | |
Type: | JavaX source code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2015-08-08 16:14:56 |
Source code size: | 1039 bytes / 38 lines |
Pitched / IR pitched: | No / Yes |
Views / Downloads: | 706 / 615 |
Referenced in: | [show references] |