mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Compare commits
412 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7bab11ebe | ||
|
|
6995fc28b6 | ||
|
|
102f14d0e9 | ||
|
|
aac168402b | ||
|
|
152d49513f | ||
|
|
d5564c808d | ||
|
|
82410e07b2 | ||
|
|
94d90b30b5 | ||
|
|
06997f0da2 | ||
|
|
55aafa416d | ||
|
|
5fcdf6adc2 | ||
|
|
6a565a849b | ||
|
|
66fc67e34c | ||
|
|
7cf140940e | ||
|
|
60e90bab23 | ||
|
|
4f58258186 | ||
|
|
03e2904ebf | ||
|
|
bea90b256e | ||
|
|
8eb37ba956 | ||
|
|
8d20c1fb59 | ||
|
|
9a1abf0c49 | ||
|
|
5aae7a4000 | ||
|
|
d9509a1750 | ||
|
|
978c448fb8 | ||
|
|
997c0fca10 | ||
|
|
3ae6e68492 | ||
|
|
851c93a1f7 | ||
|
|
a5f7355e16 | ||
|
|
18ffdbaa65 | ||
|
|
c089222bc6 | ||
|
|
37f9535d27 | ||
|
|
4650368bc2 | ||
|
|
88b14ed455 | ||
|
|
54a2a47bc0 | ||
|
|
ffcc970140 | ||
|
|
7a811e39e0 | ||
|
|
11f158cbb3 | ||
|
|
5d5550c48b | ||
|
|
fd570d906a | ||
|
|
deab0662f9 | ||
|
|
7238f50a6b | ||
|
|
499fcd1f3f | ||
|
|
dc0ddc82d6 | ||
|
|
436fc34cb9 | ||
|
|
f072cd96e3 | ||
|
|
3441a001c7 | ||
|
|
bc747844ea | ||
|
|
a887f58bcc | ||
|
|
f42afef6e0 | ||
|
|
18eaf22cb9 | ||
|
|
d94f427e12 | ||
|
|
b94eb42db6 | ||
|
|
d2297f5516 | ||
|
|
ef6f58b828 | ||
|
|
eb0bf16cce | ||
|
|
ca51415540 | ||
|
|
8ae32e1d47 | ||
|
|
0a6165c4d9 | ||
|
|
cf8521a629 | ||
|
|
b11c7f3dc0 | ||
|
|
01151aad5c | ||
|
|
6b283068a9 | ||
|
|
ccd7d4d89d | ||
|
|
208ec3906f | ||
|
|
84d4fccb4d | ||
|
|
8d8ea959ee | ||
|
|
1c73db499f | ||
|
|
16a4b4947f | ||
|
|
4b2abb2064 | ||
|
|
c581b6a5a7 | ||
|
|
4c66582f87 | ||
|
|
11388a5355 | ||
|
|
24ca98b1a3 | ||
|
|
90a293727d | ||
|
|
e869f6c173 | ||
|
|
5b187d1f20 | ||
|
|
7b5d1c075d | ||
|
|
07173d2238 | ||
|
|
6b747f7d65 | ||
|
|
aef19d72f9 | ||
|
|
e1a661bffc | ||
|
|
560f9b15d7 | ||
|
|
452fc59d4f | ||
|
|
682cc2d82d | ||
|
|
29197736c7 | ||
|
|
e1dbd68713 | ||
|
|
0ecb865797 | ||
|
|
1ced06483e | ||
|
|
861cee33d5 | ||
|
|
6b882438b0 | ||
|
|
c570646c2d | ||
|
|
75f72578ad | ||
|
|
4dc566e13f | ||
|
|
bcfdbe3616 | ||
|
|
314b7f134d | ||
|
|
87eb4577ea | ||
|
|
7563bf43e9 | ||
|
|
ce8cfed7ff | ||
|
|
8742de9a88 | ||
|
|
9c0af2ea5b | ||
|
|
4c81c0d904 | ||
|
|
4dcdb0c79c | ||
|
|
d459f7289e | ||
|
|
d2c4104d30 | ||
|
|
89fabd9a89 | ||
|
|
3f7ce832ab | ||
|
|
3fdc904b18 | ||
|
|
cf471af677 | ||
|
|
2d392581e2 | ||
|
|
79a428ab8d | ||
|
|
7ed1b9b0b1 | ||
|
|
58fd8a5d87 | ||
|
|
9f8c15ed6c | ||
|
|
b94eda18ab | ||
|
|
849eb28b01 | ||
|
|
b0073d461c | ||
|
|
25d160e850 | ||
|
|
e688c865bc | ||
|
|
21e97cc65c | ||
|
|
06c1033952 | ||
|
|
8c54f68040 | ||
|
|
4c1f5c490f | ||
|
|
117735ffb9 | ||
|
|
f98e6bdac7 | ||
|
|
19d76306d3 | ||
|
|
a63a609ce1 | ||
|
|
95fce2024d | ||
|
|
f3b65015f4 | ||
|
|
5431298b0d | ||
|
|
8f651bca03 | ||
|
|
6c45e5ec19 | ||
|
|
95d394642c | ||
|
|
6a185a3d3a | ||
|
|
6ae353706d | ||
|
|
77bc72be14 | ||
|
|
0585c880de | ||
|
|
da5189e7fb | ||
|
|
5f456d8b22 | ||
|
|
a351cdd486 | ||
|
|
6e71663fd6 | ||
|
|
0b2e43cdee | ||
|
|
9cbd280f79 | ||
|
|
947be9db0f | ||
|
|
dd55f929d4 | ||
|
|
8b5399d568 | ||
|
|
1b8b0c6229 | ||
|
|
ee3081fb4c | ||
|
|
119770a038 | ||
|
|
9d61487403 | ||
|
|
56dec47561 | ||
|
|
3e793ab5b7 | ||
|
|
f6b50a67f9 | ||
|
|
cd47798d13 | ||
|
|
3b54df2cde | ||
|
|
8bf1defdc1 | ||
|
|
8845b266de | ||
|
|
4757da73f0 | ||
|
|
468fd425fc | ||
|
|
5604d658b2 | ||
|
|
37222d5622 | ||
|
|
ec38b54023 | ||
|
|
260e90401d | ||
|
|
8c66f0a5da | ||
|
|
78efc2d0de | ||
|
|
656c1e6ba6 | ||
|
|
65e932016b | ||
|
|
fc602b1d42 | ||
|
|
0e882900d7 | ||
|
|
28103ee25b | ||
|
|
0a0d2ddb1a | ||
|
|
3bf4cb721e | ||
|
|
ba1ab64b56 | ||
|
|
786d1e4cfc | ||
|
|
eb82e022ba | ||
|
|
753bfd1dc5 | ||
|
|
bc8d65e7d3 | ||
|
|
3180c5d554 | ||
|
|
6b11655db8 | ||
|
|
d1ae098c08 | ||
|
|
e1a8b5db1d | ||
|
|
302cfea295 | ||
|
|
be122ca1a5 | ||
|
|
b05f6f0018 | ||
|
|
e811021806 | ||
|
|
656f4f440d | ||
|
|
7fb62de4d7 | ||
|
|
0946fecd82 | ||
|
|
26a5325dc3 | ||
|
|
9afdcddfc9 | ||
|
|
4881e0aa51 | ||
|
|
743f7c76de | ||
|
|
f8ef01f557 | ||
|
|
402fa5c2cd | ||
|
|
5ac1e847a5 | ||
|
|
0737a21e38 | ||
|
|
4d162f88bd | ||
|
|
2806987f2f | ||
|
|
f380aa2e5e | ||
|
|
a2ce1972ec | ||
|
|
aa8cf7e6bb | ||
|
|
ec61a6974f | ||
|
|
21e249bd2c | ||
|
|
8e550f7093 | ||
|
|
53e53880bd | ||
|
|
671b5788ed | ||
|
|
76d10cd85c | ||
|
|
42c155d667 | ||
|
|
d17222ec91 | ||
|
|
a1ea55d006 | ||
|
|
f32b7bb978 | ||
|
|
38aa7bae3f | ||
|
|
0021b9532b | ||
|
|
788fac7c43 | ||
|
|
71934152e4 | ||
|
|
e20d6fc04a | ||
|
|
a1e8fc4f97 | ||
|
|
9dc8a10e2a | ||
|
|
43a2da46f9 | ||
|
|
f95ca13073 | ||
|
|
b92b3af602 | ||
|
|
83b76cde34 | ||
|
|
5ff0d488d2 | ||
|
|
f89adf6e53 | ||
|
|
efd34d8cb0 | ||
|
|
3defb60fd7 | ||
|
|
869c9d2fdd | ||
|
|
912e465193 | ||
|
|
e7c1419390 | ||
|
|
b19cd037b7 | ||
|
|
42f7bc2160 | ||
|
|
542a0d79fd | ||
|
|
4b9b09f7bf | ||
|
|
57429f3194 | ||
|
|
9bdf890fd8 | ||
|
|
9240f30f28 | ||
|
|
6062d3b25c | ||
|
|
3878afa2e0 | ||
|
|
fa8998c6b6 | ||
|
|
99dcd501aa | ||
|
|
ed23c6ef75 | ||
|
|
90b59876d0 | ||
|
|
da7d019df3 | ||
|
|
4fc0c90cff | ||
|
|
4ecb6425d2 | ||
|
|
6dfab80df7 | ||
|
|
1ebf1e77e5 | ||
|
|
0c810cc016 | ||
|
|
7e32b45aa8 | ||
|
|
4c1a84716a | ||
|
|
fd4111cdbe | ||
|
|
2fac182a90 | ||
|
|
6d2aa601cd | ||
|
|
f87c3c4996 | ||
|
|
1811465abb | ||
|
|
7631db2183 | ||
|
|
da5bc18d64 | ||
|
|
0c2aeae00d | ||
|
|
f2af2156fa | ||
|
|
5bf8cf50ae | ||
|
|
dc22b0f869 | ||
|
|
5382c1b795 | ||
|
|
dbe851726e | ||
|
|
3720e49618 | ||
|
|
a4f187efd2 | ||
|
|
b6ee02f313 | ||
|
|
380a51e4a4 | ||
|
|
459b1034a7 | ||
|
|
c2f567770c | ||
|
|
03369b8a6c | ||
|
|
c94c908d5d | ||
|
|
585d74ecc9 | ||
|
|
d8422e63f6 | ||
|
|
ca12a99970 | ||
|
|
1fdcafb1ae | ||
|
|
3b2ddb1a18 | ||
|
|
2eede37248 | ||
|
|
6489f7009d | ||
|
|
bdfe2aa6e4 | ||
|
|
007de4691b | ||
|
|
141e495447 | ||
|
|
5e68714ae5 | ||
|
|
4ae6455e0e | ||
|
|
f393ea307d | ||
|
|
1e20b12241 | ||
|
|
81c41df15c | ||
|
|
8b736189e0 | ||
|
|
188d2367df | ||
|
|
5aeac500da | ||
|
|
5730ab28ab | ||
|
|
1c56b03a28 | ||
|
|
828fc7a19b | ||
|
|
fc1f8083ad | ||
|
|
af5e799a45 | ||
|
|
accf734a74 | ||
|
|
6bd86ad46b | ||
|
|
d7207f3399 | ||
|
|
e018b4322e | ||
|
|
415c7d32a2 | ||
|
|
164caa2755 | ||
|
|
ec2f0cb82a | ||
|
|
604918b6ad | ||
|
|
eb7e72a4a9 | ||
|
|
e073e91d62 | ||
|
|
da9bda0e27 | ||
|
|
0e996e4bb7 | ||
|
|
63fbbd6e0a | ||
|
|
1ac694f149 | ||
|
|
ef49fe417f | ||
|
|
d28828b7d7 | ||
|
|
8a42f76f03 | ||
|
|
745ce14d47 | ||
|
|
dc41ca23c6 | ||
|
|
9da42fba5b | ||
|
|
fac4633337 | ||
|
|
3ab0de831f | ||
|
|
599d146118 | ||
|
|
5cdbb2b113 | ||
|
|
611584a414 | ||
|
|
33478b2d23 | ||
|
|
46ca8e93c2 | ||
|
|
da58febc3e | ||
|
|
7ca2384e03 | ||
|
|
6b2bb52dcd | ||
|
|
000a42ef3d | ||
|
|
03e40718ff | ||
|
|
4386fb7f28 | ||
|
|
0db4d05671 | ||
|
|
d113e98915 | ||
|
|
e9acecf71f | ||
|
|
76b84decfe | ||
|
|
80148ae4e4 | ||
|
|
4af679c27f | ||
|
|
ba86d9fff0 | ||
|
|
3a07410569 | ||
|
|
b43828db9b | ||
|
|
8251588088 | ||
|
|
22ff4898a5 | ||
|
|
9c4c6d908a | ||
|
|
3f9d98974c | ||
|
|
98a23c6a53 | ||
|
|
3086326d12 | ||
|
|
ac4594e3b1 | ||
|
|
47dcca839e | ||
|
|
572078a708 | ||
|
|
0442f4bd06 | ||
|
|
2861a8f19c | ||
|
|
1d0028fd53 | ||
|
|
c3288543af | ||
|
|
3c96f9eb53 | ||
|
|
6bd8d3a3b7 | ||
|
|
63e017fbaa | ||
|
|
f993b7358b | ||
|
|
4239d5453c | ||
|
|
b0e6f17612 | ||
|
|
c97c10623b | ||
|
|
d566ccd0be | ||
|
|
8b4daefbde | ||
|
|
bbea29be55 | ||
|
|
f016867e1a | ||
|
|
35f2699eb3 | ||
|
|
3ad66da2bf | ||
|
|
004f9b4710 | ||
|
|
3e06b95f98 | ||
|
|
8591dffcae | ||
|
|
3d69c047f0 | ||
|
|
78a1183c26 | ||
|
|
58ea517b32 | ||
|
|
0722b6855b | ||
|
|
a6a745d99d | ||
|
|
7394e9400b | ||
|
|
15f0366e12 | ||
|
|
07e3d9d3b3 | ||
|
|
55eaf03afb | ||
|
|
7a6849b3ac | ||
|
|
fa5496eef4 | ||
|
|
893bd7e204 | ||
|
|
8a54ce57a5 | ||
|
|
3851b7c016 | ||
|
|
3dbcfa8af8 | ||
|
|
9936a30879 | ||
|
|
59e935b05d | ||
|
|
53f93f68db | ||
|
|
66f9bd1ab4 | ||
|
|
bde843b67f | ||
|
|
17f75e64ba | ||
|
|
0157b9eb37 | ||
|
|
730be65514 | ||
|
|
885b5aab41 | ||
|
|
ef22eee4d9 | ||
|
|
b609f24bbc | ||
|
|
83b03df98b | ||
|
|
56c3b8c3fe | ||
|
|
f18ae4f99f | ||
|
|
5217f19faa | ||
|
|
296d170ba9 | ||
|
|
a97fd74399 | ||
|
|
43ee45d9b6 | ||
|
|
02db72515f | ||
|
|
af9b5f0e98 | ||
|
|
a145bd92f7 | ||
|
|
20204cd9fc | ||
|
|
3445e55744 | ||
|
|
036b9c4094 | ||
|
|
ce928d8b64 | ||
|
|
edadca9085 | ||
|
|
08290ac49e | ||
|
|
42944660bd | ||
|
|
ae5e1c5a85 | ||
|
|
f4f5ccb3f5 | ||
|
|
ab3f44cb6e | ||
|
|
d7757033ab | ||
|
|
8bb9241e6e |
81
.gitmodules
vendored
81
.gitmodules
vendored
@@ -96,7 +96,7 @@
|
||||
url = https://github.com/bfad/Sublime-Lasso
|
||||
[submodule "vendor/grammars/chapel-tmbundle"]
|
||||
path = vendor/grammars/chapel-tmbundle
|
||||
url = https://github.com/bholt/chapel-tmbundle
|
||||
url = https://github.com/chapel-lang/chapel-tmbundle
|
||||
[submodule "vendor/grammars/sublime-nginx"]
|
||||
path = vendor/grammars/sublime-nginx
|
||||
url = https://github.com/brandonwamboldt/sublime-nginx
|
||||
@@ -118,9 +118,6 @@
|
||||
[submodule "vendor/grammars/cucumber-tmbundle"]
|
||||
path = vendor/grammars/cucumber-tmbundle
|
||||
url = https://github.com/cucumber/cucumber-tmbundle
|
||||
[submodule "vendor/grammars/Handlebars"]
|
||||
path = vendor/grammars/Handlebars
|
||||
url = https://github.com/daaain/Handlebars
|
||||
[submodule "vendor/grammars/powershell"]
|
||||
path = vendor/grammars/powershell
|
||||
url = https://github.com/SublimeText/PowerShell
|
||||
@@ -136,9 +133,6 @@
|
||||
[submodule "vendor/grammars/fancy-tmbundle"]
|
||||
path = vendor/grammars/fancy-tmbundle
|
||||
url = https://github.com/fancy-lang/fancy-tmbundle
|
||||
[submodule "vendor/grammars/fsharpbinding"]
|
||||
path = vendor/grammars/fsharpbinding
|
||||
url = https://github.com/fsharp/fsharpbinding
|
||||
[submodule "vendor/grammars/monkey.tmbundle"]
|
||||
path = vendor/grammars/monkey.tmbundle
|
||||
url = https://github.com/gingerbeardman/monkey.tmbundle
|
||||
@@ -169,9 +163,6 @@
|
||||
[submodule "vendor/grammars/Textmate-Gosu-Bundle"]
|
||||
path = vendor/grammars/Textmate-Gosu-Bundle
|
||||
url = https://github.com/jpcamara/Textmate-Gosu-Bundle
|
||||
[submodule "vendor/grammars/jquery-tmbundle"]
|
||||
path = vendor/grammars/jquery-tmbundle
|
||||
url = https://github.com/kswedberg/jquery-tmbundle
|
||||
[submodule "vendor/grammars/fish-tmbundle"]
|
||||
path = vendor/grammars/fish-tmbundle
|
||||
url = https://github.com/l15n/fish-tmbundle
|
||||
@@ -346,9 +337,6 @@
|
||||
[submodule "vendor/grammars/java.tmbundle"]
|
||||
path = vendor/grammars/java.tmbundle
|
||||
url = https://github.com/textmate/java.tmbundle
|
||||
[submodule "vendor/grammars/javadoc.tmbundle"]
|
||||
path = vendor/grammars/javadoc.tmbundle
|
||||
url = https://github.com/textmate/javadoc.tmbundle
|
||||
[submodule "vendor/grammars/javascript-objective-j.tmbundle"]
|
||||
path = vendor/grammars/javascript-objective-j.tmbundle
|
||||
url = https://github.com/textmate/javascript-objective-j.tmbundle
|
||||
@@ -424,9 +412,6 @@
|
||||
[submodule "vendor/grammars/ruby-haml.tmbundle"]
|
||||
path = vendor/grammars/ruby-haml.tmbundle
|
||||
url = https://github.com/textmate/ruby-haml.tmbundle
|
||||
[submodule "vendor/grammars/ruby-on-rails-tmbundle"]
|
||||
path = vendor/grammars/ruby-on-rails-tmbundle
|
||||
url = https://github.com/textmate/ruby-on-rails-tmbundle
|
||||
[submodule "vendor/grammars/scheme.tmbundle"]
|
||||
path = vendor/grammars/scheme.tmbundle
|
||||
url = https://github.com/textmate/scheme.tmbundle
|
||||
@@ -445,15 +430,6 @@
|
||||
[submodule "vendor/grammars/tcl.tmbundle"]
|
||||
path = vendor/grammars/tcl.tmbundle
|
||||
url = https://github.com/textmate/tcl.tmbundle
|
||||
[submodule "vendor/grammars/text.tmbundle"]
|
||||
path = vendor/grammars/text.tmbundle
|
||||
url = https://github.com/textmate/text.tmbundle
|
||||
[submodule "vendor/grammars/textile.tmbundle"]
|
||||
path = vendor/grammars/textile.tmbundle
|
||||
url = https://github.com/textmate/textile.tmbundle
|
||||
[submodule "vendor/grammars/textmate.tmbundle"]
|
||||
path = vendor/grammars/textmate.tmbundle
|
||||
url = https://github.com/textmate/textmate.tmbundle
|
||||
[submodule "vendor/grammars/thrift.tmbundle"]
|
||||
path = vendor/grammars/thrift.tmbundle
|
||||
url = https://github.com/textmate/thrift.tmbundle
|
||||
@@ -487,10 +463,6 @@
|
||||
[submodule "vendor/grammars/sublime-nix"]
|
||||
path = vendor/grammars/sublime-nix
|
||||
url = https://github.com/wmertens/sublime-nix
|
||||
[submodule "vendor/grammars/ada.tmbundle"]
|
||||
path = vendor/grammars/ada.tmbundle
|
||||
url = https://github.com/aroben/ada.tmbundle
|
||||
branch = better-with-highlighting
|
||||
[submodule "vendor/grammars/oz-tmbundle"]
|
||||
path = vendor/grammars/oz-tmbundle
|
||||
url = https://github.com/eregon/oz-tmbundle
|
||||
@@ -612,6 +584,9 @@
|
||||
[submodule "vendor/grammars/mediawiki.tmbundle"]
|
||||
path = vendor/grammars/mediawiki.tmbundle
|
||||
url = https://github.com/textmate/mediawiki.tmbundle
|
||||
[submodule "vendor/grammars/SublimeClarion"]
|
||||
path = vendor/grammars/SublimeClarion
|
||||
url = https://github.com/fushnisoft/SublimeClarion
|
||||
[submodule "vendor/grammars/oracle.tmbundle"]
|
||||
path = vendor/grammars/oracle.tmbundle
|
||||
url = https://github.com/mulander/oracle.tmbundle.git
|
||||
@@ -651,3 +626,51 @@
|
||||
[submodule "vendor/grammars/Sublime-Red"]
|
||||
path = vendor/grammars/Sublime-Red
|
||||
url = https://github.com/Oldes/Sublime-Red
|
||||
[submodule "vendor/grammars/jflex.tmbundle"]
|
||||
path = vendor/grammars/jflex.tmbundle
|
||||
url = https://github.com/jflex-de/jflex.tmbundle.git
|
||||
[submodule "vendor/grammars/Sublime-Modula-2"]
|
||||
path = vendor/grammars/Sublime-Modula-2
|
||||
url = https://github.com/harogaston/Sublime-Modula-2
|
||||
[submodule "vendor/grammars/ada.tmbundle"]
|
||||
path = vendor/grammars/ada.tmbundle
|
||||
url = https://github.com/textmate/ada.tmbundle
|
||||
[submodule "vendor/grammars/api-blueprint-sublime-plugin"]
|
||||
path = vendor/grammars/api-blueprint-sublime-plugin
|
||||
url = https://github.com/apiaryio/api-blueprint-sublime-plugin
|
||||
[submodule "vendor/grammars/Handlebars"]
|
||||
path = vendor/grammars/Handlebars
|
||||
url = https://github.com/daaain/Handlebars
|
||||
[submodule "vendor/grammars/smali-sublime"]
|
||||
path = vendor/grammars/smali-sublime
|
||||
url = https://github.com/ShaneWilton/sublime-smali
|
||||
[submodule "vendor/grammars/language-jsoniq"]
|
||||
path = vendor/grammars/language-jsoniq
|
||||
url = http://github.com/wcandillon/language-jsoniq
|
||||
[submodule "vendor/grammars/atom-fsharp"]
|
||||
path = vendor/grammars/atom-fsharp
|
||||
url = https://github.com/fsprojects/atom-fsharp
|
||||
[submodule "vendor/grammars/SMT.tmbundle"]
|
||||
path = vendor/grammars/SMT.tmbundle
|
||||
url = https://github.com/SRI-CSL/SMT.tmbundle.git
|
||||
[submodule "vendor/grammars/language-crystal"]
|
||||
path = vendor/grammars/language-crystal
|
||||
url = https://github.com/k2b6s9j/language-crystal
|
||||
[submodule "vendor/grammars/language-xbase"]
|
||||
path = vendor/grammars/language-xbase
|
||||
url = https://github.com/hernad/atom-language-harbour
|
||||
[submodule "vendor/grammars/language-ncl"]
|
||||
path = vendor/grammars/language-ncl
|
||||
url = https://github.com/rpavlick/language-ncl.git
|
||||
[submodule "vendor/grammars/atom-language-purescript"]
|
||||
path = vendor/grammars/atom-language-purescript
|
||||
url = https://github.com/freebroccolo/atom-language-purescript
|
||||
[submodule "vendor/grammars/vue-syntax-highlight"]
|
||||
path = vendor/grammars/vue-syntax-highlight
|
||||
url = https://github.com/vuejs/vue-syntax-highlight
|
||||
[submodule "vendor/grammars/st2-zonefile"]
|
||||
path = vendor/grammars/st2-zonefile
|
||||
url = https://github.com/sixty4k/st2-zonefile
|
||||
[submodule "vendor/grammars/sublime-aspectj"]
|
||||
path = vendor/grammars/sublime-aspectj
|
||||
url = https://github.com/pchaigno/sublime-aspectj
|
||||
|
||||
@@ -1,10 +1,31 @@
|
||||
# Contributing
|
||||
|
||||
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. The majority of contributions won't need to touch any Ruby code at all.
|
||||
[code-of-conduct]: http://todogroup.org/opencodeofconduct/#Linguist/opensource@github.com
|
||||
|
||||
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. This project adheres to the [Open Code of Conduct][code-of-conduct]. By participating, you are expected to uphold this code.
|
||||
|
||||
The majority of contributions won't need to touch any Ruby code at all.
|
||||
|
||||
## Adding an extension to a language
|
||||
|
||||
We try only to add new extensions once they have some usage on GitHub. In most cases we prefer that extensions be in use in hundreds of repositories before supporting them in Linguist.
|
||||
|
||||
To add support for a new extension:
|
||||
|
||||
0. Add your extension to the language entry in [`languages.yml`][languages].
|
||||
0. Add at least one sample for your extension to the [samples directory][samples] in the correct subdirectory.
|
||||
0. Open a pull request, linking to a [GitHub search result](https://github.com/search?utf8=%E2%9C%93&q=extension%3Aboot+NOT+nothack&type=Code&ref=searchresults) showing in-the-wild usage.
|
||||
|
||||
In addition, if this extension is already listed in [`languages.yml`][languages] then sometimes a few more steps will need to be taken:
|
||||
|
||||
0. Make sure that example `.yourextension` files are present in the [samples directory][samples] for each language that uses `.yourextension`.
|
||||
0. Test the performance of the Bayesian classifier with a relatively large number (1000s) of sample `.yourextension` files. (ping @arfon or @bkeepers to help with this) to ensure we're not misclassifying files.
|
||||
0. If the Bayesian classifier does a bad job with the sample `.yourextension` files then a [heuristic](https://github.com/github/linguist/blob/master/lib/linguist/heuristics.rb) may need to be written to help.
|
||||
|
||||
|
||||
## Adding a language
|
||||
|
||||
We try only to add languages once they have some usage on GitHub. In most cases we prefer that languages be in use in hundreds of repositories before supporting them in Linguist.
|
||||
We try only to add languages once they have some usage on GitHub. In most cases we prefer that each new file extension be in use in hundreds of repositories before supporting them in Linguist.
|
||||
|
||||
To add support for a new language:
|
||||
|
||||
@@ -23,21 +44,23 @@ In addition, if your new language defines an extension that's already listed in
|
||||
|
||||
Remember, the goal here is to try and avoid false positives!
|
||||
|
||||
|
||||
## Fixing a misclassified language
|
||||
|
||||
Most languages are detected by their file extension defined in [languages.yml][languages]. For disambiguating between files with common extensions, linguist applies some [heuristics](/lib/linguist/heuristics.rb) and a [statistical classifier](lib/linguist/classifier.rb). This process can help differentiate between, for example, `.h` files which could be either C, C++, or Obj-C.
|
||||
|
||||
Misclassifications can often be solved by either adding a new filename or extension for the language or adding more [samples][samples] to make the classifier smarter.
|
||||
|
||||
|
||||
## Fixing syntax highlighting
|
||||
|
||||
Syntax highlighting in GitHub is performed using TextMate-compatible grammars. These are the same grammars that TextMate, Sublime Text and Atom use. Every language in [languages.yml][languages] is mapped to its corresponding TM `scope`. This scope will be used when picking up a grammar for highlighting.
|
||||
|
||||
Assuming your code is being detected as the right language, in most cases this is due to a bug in the language grammar rather than a bug in Linguist. [`grammars.yml`][grammars] lists all the grammars we use for syntax highlighting on github.com. Find the one corresponding to your code's programming language and submit a bug report upstream. If you can, try to reproduce the highlighting problem in the text editor that the grammar is designed for (TextMate, Sublime Text, or Atom) and include that information in your bug report.
|
||||
|
||||
You can also try to fix the bug yourself and submit a Pull Request. [TextMate's documentation](http://manual.macromates.com/en/language_grammars) offers a good introduction on how to work with TextMate-compatible grammars. You can test grammars using [Lightshow](https://github-lightshow.herokuapp.com).
|
||||
You can also try to fix the bug yourself and submit a Pull Request. [TextMate's documentation](https://manual.macromates.com/en/language_grammars) offers a good introduction on how to work with TextMate-compatible grammars. You can test grammars using [Lightshow](https://github-lightshow.herokuapp.com).
|
||||
|
||||
Once the bug has been fixed upstream, please let us know and we'll pick it up for GitHub.
|
||||
Once the bug has been fixed upstream, we'll pick it up for GitHub in the next release of Linguist.
|
||||
|
||||
## Testing
|
||||
|
||||
@@ -51,9 +74,10 @@ To run the tests:
|
||||
|
||||
bundle exec rake test
|
||||
|
||||
Sometimes getting the tests running can be too much work, especially if you don't have much Ruby experience. It's okay: be lazy and let our build bot [Travis](http://travis-ci.org/#!/github/linguist) run the tests for you. Just open a pull request and the bot will start cranking away.
|
||||
Sometimes getting the tests running can be too much work, especially if you don't have much Ruby experience. It's okay: be lazy and let our build bot [Travis](https://travis-ci.org/#!/github/linguist) run the tests for you. Just open a pull request and the bot will start cranking away.
|
||||
|
||||
Here's our current build status: [](https://travis-ci.org/github/linguist)
|
||||
|
||||
Here's our current build status: [](http://travis-ci.org/github/linguist)
|
||||
|
||||
## Releasing
|
||||
|
||||
|
||||
14
README.md
14
README.md
@@ -26,7 +26,7 @@ Linguist supports a number of different custom overrides strategies for language
|
||||
|
||||
### Using gitattributes
|
||||
|
||||
Add a `.gitattributes` file to your project and use standard git-style path matchers for the files you want to override to set `linguist-documentation`, `linguist-language`, and `linguist-vendored`. `.gitattributes` will be used to determine language statistics, but will not be used to syntax highlight files. To manually set syntax highlighting, use [Vim or Emacs modelines](#using-emacs-and-vim-modelines).
|
||||
Add a `.gitattributes` file to your project and use standard git-style path matchers for the files you want to override to set `linguist-documentation`, `linguist-language`, and `linguist-vendored`. `.gitattributes` will be used to determine language statistics, but will not be used to syntax highlight files. To manually set syntax highlighting, use [Vim or Emacs modelines](#using-emacs-or-vim-modelines).
|
||||
|
||||
```
|
||||
$ cat .gitattributes
|
||||
@@ -35,7 +35,7 @@ $ cat .gitattributes
|
||||
|
||||
Checking code you didn't write, such as JavaScript libraries, into your git repo is a common practice, but this often inflates your project's language stats and may even cause your project to be labeled as another language. By default, Linguist treats all of the paths defined in [lib/linguist/vendor.yml](https://github.com/github/linguist/blob/master/lib/linguist/vendor.yml) as vendored and therefore doesn't include them in the language statistics for a repository. Vendored files are also hidden by default in diffs on github.com.
|
||||
|
||||
Use the `linguist-vendored` attribute to vendor or un-vendor paths.
|
||||
Use the `linguist-vendored` attribute to vendor or un-vendor paths. Please note, overriding the vendored (or un-vendored) status of a file only affects the language statistics for the repository and not the behavior in diffs on github.com.
|
||||
|
||||
```
|
||||
$ cat .gitattributes
|
||||
@@ -53,16 +53,18 @@ project-docs/* linguist-documentation
|
||||
docs/formatter.rb linguist-documentation=false
|
||||
```
|
||||
|
||||
### Using Emacs and Vim modelines
|
||||
### Using Emacs or Vim modelines
|
||||
|
||||
Alternatively, you can use Vim and Emacs style modelines to set the language for a single file. Modelines can be placed anywhere within a file and are respected when determining how to syntax-highlight a file on GitHub.com
|
||||
Alternatively, you can use Vim or Emacs style modelines to set the language for a single file. Modelines can be placed anywhere within a file and are respected when determining how to syntax-highlight a file on GitHub.com
|
||||
|
||||
##### Vim
|
||||
```
|
||||
Vim
|
||||
vim: set filetype=prolog:
|
||||
vim: set ft=cpp:
|
||||
```
|
||||
|
||||
Emacs
|
||||
##### Emacs
|
||||
```
|
||||
-*- mode: php;-*-
|
||||
```
|
||||
|
||||
|
||||
2
Rakefile
2
Rakefile
@@ -62,7 +62,7 @@ namespace :benchmark do
|
||||
|
||||
corpus = File.expand_path(ENV["CORPUS"] || "samples")
|
||||
|
||||
require 'linguist/language'
|
||||
require 'linguist'
|
||||
|
||||
results = Hash.new
|
||||
Dir.glob("#{corpus}/**/*").each do |file|
|
||||
|
||||
@@ -16,11 +16,12 @@ Gem::Specification.new do |s|
|
||||
s.add_dependency 'charlock_holmes', '~> 0.7.3'
|
||||
s.add_dependency 'escape_utils', '~> 1.1.0'
|
||||
s.add_dependency 'mime-types', '>= 1.19'
|
||||
s.add_dependency 'rugged', '~> 0.23.0b1'
|
||||
s.add_dependency 'rugged', '>= 0.23.0b'
|
||||
|
||||
s.add_development_dependency 'minitest', '>= 5.0'
|
||||
s.add_development_dependency 'mocha'
|
||||
s.add_development_dependency 'pry'
|
||||
s.add_development_dependency 'rake'
|
||||
s.add_development_dependency 'yajl-ruby'
|
||||
s.add_development_dependency 'color-proximity', '~> 0.2.1'
|
||||
end
|
||||
|
||||
59
grammars.yml
59
grammars.yml
@@ -85,6 +85,8 @@ vendor/grammars/Racket:
|
||||
- source.racket
|
||||
vendor/grammars/SCSS.tmbundle:
|
||||
- source.scss
|
||||
vendor/grammars/SMT.tmbundle:
|
||||
- source.smt
|
||||
vendor/grammars/Scalate.tmbundle:
|
||||
- source.scaml
|
||||
- text.html.ssp
|
||||
@@ -107,6 +109,8 @@ vendor/grammars/Sublime-Logos:
|
||||
- source.logos
|
||||
vendor/grammars/Sublime-Loom:
|
||||
- source.loomscript
|
||||
vendor/grammars/Sublime-Modula-2/:
|
||||
- source.modula2
|
||||
vendor/grammars/Sublime-Nit:
|
||||
- source.nit
|
||||
vendor/grammars/Sublime-QML:
|
||||
@@ -119,10 +123,13 @@ vendor/grammars/Sublime-SQF-Language:
|
||||
- source.sqf
|
||||
vendor/grammars/Sublime-Text-2-OpenEdge-ABL:
|
||||
- source.abl
|
||||
- text.html.abl
|
||||
vendor/grammars/Sublime-VimL:
|
||||
- source.viml
|
||||
vendor/grammars/SublimeBrainfuck:
|
||||
- source.bf
|
||||
vendor/grammars/SublimeClarion/:
|
||||
- source.clarion
|
||||
vendor/grammars/SublimePapyrus/:
|
||||
- source.compiled-papyrus
|
||||
- source.papyrus
|
||||
@@ -154,6 +161,9 @@ vendor/grammars/antlr.tmbundle:
|
||||
vendor/grammars/apache.tmbundle:
|
||||
- source.apache-config
|
||||
- source.apache-config.mod_perl
|
||||
vendor/grammars/api-blueprint-sublime-plugin/:
|
||||
- text.html.markdown.source.gfm.apib
|
||||
- text.html.markdown.source.gfm.mson
|
||||
vendor/grammars/applescript.tmbundle:
|
||||
- source.applescript
|
||||
vendor/grammars/asciidoc.tmbundle/:
|
||||
@@ -164,6 +174,10 @@ vendor/grammars/asp.tmbundle:
|
||||
vendor/grammars/assembly.tmbundle:
|
||||
- objdump.x86asm
|
||||
- source.x86asm
|
||||
vendor/grammars/atom-fsharp/:
|
||||
- source.fsharp
|
||||
vendor/grammars/atom-language-purescript/:
|
||||
- source.purescript
|
||||
vendor/grammars/atom-salt:
|
||||
- source.python.salt
|
||||
- source.yaml.salt
|
||||
@@ -210,6 +224,7 @@ vendor/grammars/d.tmbundle:
|
||||
vendor/grammars/dart-sublime-bundle:
|
||||
- source.dart
|
||||
- source.pubspec
|
||||
- text.dart-analysis-output
|
||||
- text.dart-doccomments
|
||||
vendor/grammars/desktop.tmbundle:
|
||||
- source.desktop
|
||||
@@ -242,8 +257,6 @@ vendor/grammars/fish-tmbundle:
|
||||
vendor/grammars/fortran.tmbundle:
|
||||
- source.fortran
|
||||
- source.fortran.modern
|
||||
vendor/grammars/fsharpbinding:
|
||||
- source.fsharp
|
||||
vendor/grammars/gap-tmbundle/:
|
||||
- source.gap
|
||||
vendor/grammars/gettext.tmbundle:
|
||||
@@ -291,12 +304,10 @@ vendor/grammars/java.tmbundle:
|
||||
- source.java-properties
|
||||
- text.html.jsp
|
||||
- text.junit-test-report
|
||||
vendor/grammars/javadoc.tmbundle:
|
||||
- text.html.javadoc
|
||||
vendor/grammars/javascript-objective-j.tmbundle:
|
||||
- source.js.objj
|
||||
vendor/grammars/jquery-tmbundle:
|
||||
- source.js.jquery
|
||||
vendor/grammars/jflex.tmbundle:
|
||||
- source.jflex
|
||||
vendor/grammars/json.tmbundle:
|
||||
- source.json
|
||||
vendor/grammars/kotlin-sublime-package:
|
||||
@@ -306,7 +317,10 @@ vendor/grammars/language-clojure:
|
||||
vendor/grammars/language-coffee-script:
|
||||
- source.coffee
|
||||
- source.litcoffee
|
||||
vendor/grammars/language-crystal:
|
||||
- source.crystal
|
||||
vendor/grammars/language-csharp:
|
||||
- source.cake
|
||||
- source.cs
|
||||
- source.csx
|
||||
- source.nant-build
|
||||
@@ -317,6 +331,12 @@ vendor/grammars/language-hy:
|
||||
vendor/grammars/language-javascript:
|
||||
- source.js
|
||||
- source.js.regexp
|
||||
- source.js.regexp.replacement
|
||||
vendor/grammars/language-jsoniq/:
|
||||
- source.jq
|
||||
- source.xq
|
||||
vendor/grammars/language-ncl:
|
||||
- source.ncl
|
||||
vendor/grammars/language-python:
|
||||
- source.python
|
||||
- source.regexp.python
|
||||
@@ -325,6 +345,8 @@ vendor/grammars/language-python:
|
||||
vendor/grammars/language-shellscript:
|
||||
- source.shell
|
||||
- text.shell-session
|
||||
vendor/grammars/language-xbase:
|
||||
- source.harbour
|
||||
vendor/grammars/language-yaml:
|
||||
- source.yaml
|
||||
vendor/grammars/latex.tmbundle:
|
||||
@@ -399,7 +421,7 @@ vendor/grammars/perl.tmbundle/:
|
||||
- source.perl
|
||||
- source.perl.6
|
||||
vendor/grammars/php-smarty.tmbundle:
|
||||
- source.smarty
|
||||
- text.html.smarty
|
||||
vendor/grammars/php.tmbundle:
|
||||
- text.html.php
|
||||
vendor/grammars/pike-textmate:
|
||||
@@ -426,20 +448,14 @@ vendor/grammars/restructuredtext.tmbundle:
|
||||
- text.restructuredtext
|
||||
vendor/grammars/ruby-haml.tmbundle:
|
||||
- text.haml
|
||||
vendor/grammars/ruby-on-rails-tmbundle:
|
||||
- source.js.erb.rails
|
||||
- source.ruby.rails
|
||||
- source.ruby.rails.rjs
|
||||
- source.sql.ruby
|
||||
- text.html.erb.rails
|
||||
vendor/grammars/ruby-slim.tmbundle:
|
||||
- text.slim
|
||||
vendor/grammars/ruby.tmbundle:
|
||||
- source.ruby
|
||||
- text.html.erb
|
||||
vendor/grammars/sas.tmbundle:
|
||||
- source.SASLog
|
||||
- source.sas
|
||||
- source.sas_log
|
||||
vendor/grammars/sass-textmate-bundle:
|
||||
- source.sass
|
||||
vendor/grammars/scala.tmbundle:
|
||||
@@ -449,10 +465,14 @@ vendor/grammars/scheme.tmbundle:
|
||||
- source.scheme
|
||||
vendor/grammars/scilab.tmbundle:
|
||||
- source.scilab
|
||||
vendor/grammars/smali-sublime/smali.tmLanguage:
|
||||
- source.smali
|
||||
vendor/grammars/smalltalk-tmbundle:
|
||||
- source.smalltalk
|
||||
vendor/grammars/sql.tmbundle:
|
||||
- source.sql
|
||||
vendor/grammars/st2-zonefile:
|
||||
- text.zone_file
|
||||
vendor/grammars/standard-ml.tmbundle:
|
||||
- source.cm
|
||||
- source.ml
|
||||
@@ -460,6 +480,8 @@ vendor/grammars/sublime-MuPAD:
|
||||
- source.mupad
|
||||
vendor/grammars/sublime-apl/:
|
||||
- source.apl
|
||||
vendor/grammars/sublime-aspectj/:
|
||||
- source.aspectj
|
||||
vendor/grammars/sublime-befunge:
|
||||
- source.befunge
|
||||
vendor/grammars/sublime-better-typescript:
|
||||
@@ -519,13 +541,6 @@ vendor/grammars/swift.tmbundle:
|
||||
vendor/grammars/tcl.tmbundle:
|
||||
- source.tcl
|
||||
- text.html.tcl
|
||||
vendor/grammars/text.tmbundle:
|
||||
- text.plain
|
||||
vendor/grammars/textile.tmbundle:
|
||||
- text.html.textile
|
||||
vendor/grammars/textmate.tmbundle:
|
||||
- source.regexp.oniguruma
|
||||
- source.tm-properties
|
||||
vendor/grammars/thrift.tmbundle:
|
||||
- source.thrift
|
||||
vendor/grammars/toml.tmbundle:
|
||||
@@ -535,6 +550,8 @@ vendor/grammars/turtle.tmbundle:
|
||||
- source.turtle
|
||||
vendor/grammars/verilog.tmbundle:
|
||||
- source.verilog
|
||||
vendor/grammars/vue-syntax-highlight:
|
||||
- text.html.vue
|
||||
vendor/grammars/x86-assembly-textmate-bundle:
|
||||
- source.asm.x86
|
||||
vendor/grammars/xc.tmbundle/:
|
||||
|
||||
@@ -13,11 +13,18 @@
|
||||
- (^|/)[Dd]ocumentation/
|
||||
- (^|/)javadoc/
|
||||
- ^man/
|
||||
- ^[Ee]xamples/
|
||||
|
||||
## Documentation files ##
|
||||
|
||||
- (^|/)CHANGE(S|LOG)?(\.|$)
|
||||
- (^|/)CONTRIBUTING(\.|$)
|
||||
- (^|/)COPYING(\.|$)
|
||||
- (^|/)INSTALL(\.|$)
|
||||
- (^|/)LICEN[CS]E(\.|$)
|
||||
- (^|/)[Ll]icen[cs]e(\.|$)
|
||||
- (^|/)README(\.|$)
|
||||
- (^|/)[Rr]eadme(\.|$)
|
||||
|
||||
# Samples folders
|
||||
- ^[Ss]amples/
|
||||
|
||||
@@ -53,6 +53,7 @@ module Linguist
|
||||
def generated?
|
||||
xcode_file? ||
|
||||
generated_net_designer_file? ||
|
||||
generated_net_specflow_feature_file? ||
|
||||
composer_lock? ||
|
||||
node_modules? ||
|
||||
godeps? ||
|
||||
@@ -64,10 +65,13 @@ module Linguist
|
||||
generated_net_docfile? ||
|
||||
generated_postscript? ||
|
||||
compiled_cython_file? ||
|
||||
generated_protocol_buffer_go? ||
|
||||
generated_go? ||
|
||||
generated_protocol_buffer? ||
|
||||
generated_apache_thrift? ||
|
||||
generated_jni_header? ||
|
||||
vcr_cassette?
|
||||
vcr_cassette? ||
|
||||
generated_module? ||
|
||||
generated_unity3d_meta?
|
||||
end
|
||||
|
||||
# Internal: Is the blob an Xcode file?
|
||||
@@ -179,6 +183,17 @@ module Linguist
|
||||
name.downcase =~ /\.designer\.cs$/
|
||||
end
|
||||
|
||||
# Internal: Is this a codegen file for Specflow feature file?
|
||||
#
|
||||
# Visual Studio's SpecFlow extension generates *.feature.cs files
|
||||
# from *.feature files, they are not meant to be consumed by humans.
|
||||
# Let's hide them.
|
||||
#
|
||||
# Returns true or false
|
||||
def generated_net_specflow_feature_file?
|
||||
name.downcase =~ /\.feature\.cs$/
|
||||
end
|
||||
|
||||
# Internal: Is the blob of JS a parser generated by PEG.js?
|
||||
#
|
||||
# PEG.js-generated parsers are not meant to be consumed by humans.
|
||||
@@ -219,11 +234,11 @@ module Linguist
|
||||
creator.include?("ImageMagick")
|
||||
end
|
||||
|
||||
def generated_protocol_buffer_go?
|
||||
def generated_go?
|
||||
return false unless extname == '.go'
|
||||
return false unless lines.count > 1
|
||||
|
||||
return lines[0].include?("Code generated by protoc-gen-go")
|
||||
return lines[0].include?("Code generated by")
|
||||
end
|
||||
|
||||
# Internal: Is the blob a C++, Java or Python source file generated by the
|
||||
@@ -237,6 +252,16 @@ module Linguist
|
||||
return lines[0].include?("Generated by the protocol buffer compiler. DO NOT EDIT!")
|
||||
end
|
||||
|
||||
# Internal: Is the blob generated by Apache Thrift compiler?
|
||||
#
|
||||
# Returns true or false
|
||||
def generated_apache_thrift?
|
||||
return false unless ['.rb', '.py', '.go', '.js', '.m', '.java', '.h', '.cc', '.cpp'].include?(extname)
|
||||
return false unless lines.count > 1
|
||||
|
||||
return lines[0].include?("Autogenerated by Thrift Compiler") || lines[1].include?("Autogenerated by Thrift Compiler")
|
||||
end
|
||||
|
||||
# Internal: Is the blob a C/C++ header generated by the Java JNI tool javah?
|
||||
#
|
||||
# Returns true of false.
|
||||
@@ -299,5 +324,36 @@ module Linguist
|
||||
return false unless lines.count > 1
|
||||
return lines[0].include?("Generated by Cython")
|
||||
end
|
||||
|
||||
# Internal: Is it a KiCAD or GFortran module file?
|
||||
#
|
||||
# KiCAD module files contain:
|
||||
# PCBNEW-LibModule-V1 yyyy-mm-dd h:mm:ss XM
|
||||
# on the first line.
|
||||
#
|
||||
# GFortran module files contain:
|
||||
# GFORTRAN module version 'x' created from
|
||||
# on the first line.
|
||||
#
|
||||
# Return true of false
|
||||
def generated_module?
|
||||
return false unless extname == '.mod'
|
||||
return false unless lines.count > 1
|
||||
return lines[0].include?("PCBNEW-LibModule-V") ||
|
||||
lines[0].include?("GFORTRAN module version '")
|
||||
end
|
||||
|
||||
# Internal: Is this a metadata file from Unity3D?
|
||||
#
|
||||
# Unity3D Meta files start with:
|
||||
# fileFormatVersion: X
|
||||
# guid: XXXXXXXXXXXXXXX
|
||||
#
|
||||
# Return true or false
|
||||
def generated_unity3d_meta?
|
||||
return false unless extname == '.meta'
|
||||
return false unless lines.count > 1
|
||||
return lines[0].include?("fileFormatVersion: ")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -13,11 +13,14 @@ module Linguist
|
||||
# ])
|
||||
#
|
||||
# Returns an Array of languages, or empty if none matched or were inconclusive.
|
||||
def self.call(blob, languages)
|
||||
def self.call(blob, candidates)
|
||||
data = blob.data
|
||||
|
||||
@heuristics.each do |heuristic|
|
||||
return Array(heuristic.call(data)) if heuristic.matches?(languages)
|
||||
if heuristic.matches?(blob.name)
|
||||
languages = Array(heuristic.call(data))
|
||||
return languages if languages.any? || languages.all? { |l| candidates.include?(l) }
|
||||
end
|
||||
end
|
||||
|
||||
[] # No heuristics matched
|
||||
@@ -38,22 +41,22 @@ module Linguist
|
||||
# end
|
||||
# end
|
||||
#
|
||||
def self.disambiguate(*languages, &heuristic)
|
||||
@heuristics << new(languages, &heuristic)
|
||||
def self.disambiguate(*extensions, &heuristic)
|
||||
@heuristics << new(extensions, &heuristic)
|
||||
end
|
||||
|
||||
# Internal: Array of defined heuristics
|
||||
@heuristics = []
|
||||
|
||||
# Internal
|
||||
def initialize(languages, &heuristic)
|
||||
@languages = languages
|
||||
def initialize(extensions, &heuristic)
|
||||
@extensions = extensions
|
||||
@heuristic = heuristic
|
||||
end
|
||||
|
||||
# Internal: Check if this heuristic matches the candidate languages.
|
||||
def matches?(candidates)
|
||||
candidates.any? && candidates.all? { |l| @languages.include?(l.name) }
|
||||
def matches?(filename)
|
||||
@extensions.any? { |ext| filename.downcase.end_with?(ext) }
|
||||
end
|
||||
|
||||
# Internal: Perform the heuristic
|
||||
@@ -64,7 +67,7 @@ module Linguist
|
||||
# Common heuristics
|
||||
ObjectiveCRegex = /^[ \t]*@(interface|class|protocol|property|end|synchronised|selector|implementation)\b/
|
||||
|
||||
disambiguate "BitBake", "BlitzBasic" do |data|
|
||||
disambiguate ".bb" do |data|
|
||||
if /^\s*; /.match(data) || data.include?("End Function")
|
||||
Language["BlitzBasic"]
|
||||
elsif /^\s*(# |include|require)\b/.match(data)
|
||||
@@ -72,7 +75,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "C#", "Smalltalk" do |data|
|
||||
disambiguate ".cs" do |data|
|
||||
if /![\w\s]+methodsFor: /.match(data)
|
||||
Language["Smalltalk"]
|
||||
elsif /^\s*namespace\s*[\w\.]+\s*{/.match(data) || /^\s*\/\//.match(data)
|
||||
@@ -80,7 +83,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Objective-C", "C++", "C" do |data|
|
||||
disambiguate ".h" do |data|
|
||||
if ObjectiveCRegex.match(data)
|
||||
Language["Objective-C"]
|
||||
elsif (/^\s*#\s*include <(cstdint|string|vector|map|list|array|bitset|queue|stack|forward_list|unordered_map|unordered_set|(i|o|io)stream)>/.match(data) ||
|
||||
@@ -89,17 +92,25 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Perl", "Perl6", "Prolog" do |data|
|
||||
if data.include?("use v6")
|
||||
disambiguate ".pl" do |data|
|
||||
if /^(use v6|(my )?class|module)/.match(data)
|
||||
Language["Perl6"]
|
||||
elsif data.match(/use strict|use\s+v?5\./)
|
||||
elsif /use strict|use\s+v?5\./.match(data)
|
||||
Language["Perl"]
|
||||
elsif /^[^#]+:-/.match(data)
|
||||
Language["Prolog"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "ECL", "Prolog" do |data|
|
||||
disambiguate ".pm" do |data|
|
||||
if /^(use v6|(my )?class|module)/.match(data)
|
||||
Language["Perl6"]
|
||||
elsif /use strict|use\s+v?5\./.match(data)
|
||||
Language["Perl"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".ecl" do |data|
|
||||
if /^[^#]+:-/.match(data)
|
||||
Language["Prolog"]
|
||||
elsif data.include?(":=")
|
||||
@@ -107,7 +118,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "IDL", "Prolog", "INI", "QMake" do |data|
|
||||
disambiguate ".pro" do |data|
|
||||
if /^[^#]+:-/.match(data)
|
||||
Language["Prolog"]
|
||||
elsif data.include?("last_client=")
|
||||
@@ -119,7 +130,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "GAP", "Scilab" do |data|
|
||||
disambiguate ".tst" do |data|
|
||||
if (data.include?("gap> "))
|
||||
Language["GAP"]
|
||||
# Heads up - we don't usually write heuristics like this (with no regex match)
|
||||
@@ -128,8 +139,8 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Common Lisp", "OpenCL", "Cool" do |data|
|
||||
if data.include?("(defun ")
|
||||
disambiguate ".cl" do |data|
|
||||
if /^\s*\((defun|in-package|defpackage) /i.match(data)
|
||||
Language["Common Lisp"]
|
||||
elsif /^class/x.match(data)
|
||||
Language["Cool"]
|
||||
@@ -138,7 +149,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Hack", "PHP" do |data|
|
||||
disambiguate ".php" do |data|
|
||||
if data.include?("<?hh")
|
||||
Language["Hack"]
|
||||
elsif /<?[^h]/.match(data)
|
||||
@@ -146,7 +157,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Scala", "SuperCollider" do |data|
|
||||
disambiguate ".sc" do |data|
|
||||
if /\^(this|super)\./.match(data) || /^\s*(\+|\*)\s*\w+\s*{/.match(data) || /^\s*~\w+\s*=\./.match(data)
|
||||
Language["SuperCollider"]
|
||||
elsif /^\s*import (scala|java)\./.match(data) || /^\s*val\s+\w+\s*=/.match(data) || /^\s*class\b/.match(data)
|
||||
@@ -154,17 +165,17 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "AsciiDoc", "AGS Script", "Public Key" do |data|
|
||||
if /^[=-]+(\s|\n)|{{[A-Za-z]/.match(data)
|
||||
disambiguate ".asc" do |data|
|
||||
if /^(----[- ]BEGIN|ssh-(rsa|dss)) /.match(data)
|
||||
Language["Public Key"]
|
||||
elsif /^[=-]+(\s|\n)|{{[A-Za-z]/.match(data)
|
||||
Language["AsciiDoc"]
|
||||
elsif /^(\/\/.+|((import|export)\s+)?(function|int|float|char)\s+((room|repeatedly|on|game)_)?([A-Za-z]+[A-Za-z_0-9]+)\s*[;\(])/.match(data)
|
||||
Language["AGS Script"]
|
||||
elsif /^-----BEGIN/.match(data)
|
||||
Language["Public Key"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "FORTRAN", "Forth", "Formatted" do |data|
|
||||
disambiguate ".for", ".f" do |data|
|
||||
if /^: /.match(data)
|
||||
Language["Forth"]
|
||||
elsif /^([c*][^a-z]| (subroutine|program)\s|\s*!)/i.match(data)
|
||||
@@ -172,7 +183,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "F#", "Forth", "GLSL", "Filterscript" do |data|
|
||||
disambiguate ".fs" do |data|
|
||||
if /^(: |new-device)/.match(data)
|
||||
Language["Forth"]
|
||||
elsif /^\s*(#light|import|let|module|namespace|open|type)/.match(data)
|
||||
@@ -184,7 +195,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "M", "MUF", "Mathematica", "Matlab", "Mercury", "Objective-C" do |data|
|
||||
disambiguate ".m" do |data|
|
||||
if ObjectiveCRegex.match(data)
|
||||
Language["Objective-C"]
|
||||
elsif data.include?(":- module")
|
||||
@@ -197,14 +208,16 @@ module Linguist
|
||||
Language["Mathematica"]
|
||||
elsif /^\s*%/.match(data)
|
||||
Language["Matlab"]
|
||||
elsif /^\w+\s*:\s*module\s*{/.match(data)
|
||||
Language["Limbo"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Gosu", "JavaScript" do |data|
|
||||
disambiguate ".gs" do |data|
|
||||
Language["Gosu"] if /^uses java\./.match(data)
|
||||
end
|
||||
|
||||
disambiguate "LoomScript", "LiveScript" do |data|
|
||||
disambiguate ".ls" do |data|
|
||||
if /^\s*package\s*[\w\.\/\*\s]*\s*{/.match(data)
|
||||
Language["LoomScript"]
|
||||
else
|
||||
@@ -212,15 +225,15 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Common Lisp", "NewLisp" do |data|
|
||||
if /^\s*\((defun|in-package|defpackage) /.match(data)
|
||||
disambiguate ".lsp", ".lisp" do |data|
|
||||
if /^\s*\((defun|in-package|defpackage) /i.match(data)
|
||||
Language["Common Lisp"]
|
||||
elsif /^\s*\(define /.match(data)
|
||||
Language["NewLisp"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "TypeScript", "XML" do |data|
|
||||
disambiguate ".ts" do |data|
|
||||
if data.include?("<TS ")
|
||||
Language["XML"]
|
||||
else
|
||||
@@ -228,7 +241,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Frege", "Forth", "Text" do |data|
|
||||
disambiguate ".fr" do |data|
|
||||
if /^(: |also |new-device|previous )/.match(data)
|
||||
Language["Forth"]
|
||||
elsif /^\s*(import|module|package|data|type) /.match(data)
|
||||
@@ -238,7 +251,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "PLSQL", "SQLPL", "PLpgSQL", "SQL" do |data|
|
||||
disambiguate ".sql" do |data|
|
||||
if /^\\i\b|AS \$\$|LANGUAGE '+plpgsql'+/i.match(data) || /SECURITY (DEFINER|INVOKER)/i.match(data) || /BEGIN( WORK| TRANSACTION)?;/i.match(data)
|
||||
#Postgres
|
||||
Language["PLpgSQL"]
|
||||
@@ -254,7 +267,7 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "D", "DTrace", "Makefile" do |data|
|
||||
disambiguate ".d" do |data|
|
||||
if /^module /.match(data)
|
||||
Language["D"]
|
||||
elsif /^((dtrace:::)?BEGIN|provider |#pragma (D (option|attributes)|ident)\s)/.match(data)
|
||||
@@ -264,28 +277,86 @@ module Linguist
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "OCaml", "Standard ML" do |data|
|
||||
if /module|let rec |match\s+(\S+\s)+with/.match(data)
|
||||
disambiguate ".ml" do |data|
|
||||
if /(^\s*module)|let rec |match\s+(\S+\s)+with/.match(data)
|
||||
Language["OCaml"]
|
||||
elsif /=> |case\s+(\S+\s)+of/.match(data)
|
||||
Language["Standard ML"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "NL", "NewLisp" do |data|
|
||||
if /^g3 /.match(data)
|
||||
disambiguate ".mod" do |data|
|
||||
if data.include?('<!ENTITY ')
|
||||
Language["XML"]
|
||||
elsif /MODULE\s\w+\s*;/i.match(data) || /^\s*END \w+;$/i.match(data)
|
||||
Language["Modula-2"]
|
||||
else
|
||||
[Language["Linux Kernel Module"], Language["AMPL"]]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".ncl" do |data|
|
||||
if data.include?("THE_TITLE")
|
||||
Language["Text"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".nl" do |data|
|
||||
if /^(b|g)[0-9]+ /.match(data)
|
||||
Language["NL"]
|
||||
else
|
||||
Language["NewLisp"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate "Rust", "RenderScript" do |data|
|
||||
if data.include?("^(use |fn |mod |pub |macro_rules|impl|#!?\[)")
|
||||
disambiguate ".rs" do |data|
|
||||
if /^(use |fn |mod |pub |macro_rules|impl|#!?\[)/.match(data)
|
||||
Language["Rust"]
|
||||
elsif /#include|#pragma\s+(rs|version)|__attribute__/.match(data)
|
||||
Language["RenderScript"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".l" do |data|
|
||||
if /\(def(un|macro)\s/.match(data)
|
||||
Language["Common Lisp"]
|
||||
elsif /^(%[%{}]xs|<.*>)/.match(data)
|
||||
Language["Lex"]
|
||||
elsif /^\.[a-z][a-z](\s|$)/i.match(data)
|
||||
Language["Groff"]
|
||||
elsif /^\((de|class|rel|code|data|must)\s/.match(data)
|
||||
Language["PicoLisp"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".n" do |data|
|
||||
if /^[.']/.match(data)
|
||||
Language["Groff"]
|
||||
elsif /^(module|namespace|using)\s/.match(data)
|
||||
Language["Nemerle"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".ms" do |data|
|
||||
if /^[.'][a-z][a-z](\s|$)/i.match(data)
|
||||
Language["Groff"]
|
||||
elsif /((^|\s)move?[. ])|\.(include|globa?l)\s/.match(data)
|
||||
Language["GAS"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".ch" do |data|
|
||||
if /^\s*#\s*(if|ifdef|ifndef|define|command|xcommand|translate|xtranslate|include|pragma|undef)\b/i.match(data)
|
||||
Language["xBase"]
|
||||
end
|
||||
end
|
||||
|
||||
disambiguate ".r" do |data|
|
||||
if /\bRebol\b/i.match(data)
|
||||
Language["Rebol"]
|
||||
elsif data.include?("<-")
|
||||
Language["R"]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -150,7 +150,8 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.find_by_name(name)
|
||||
name && @name_index[name.downcase]
|
||||
return nil if name.to_s.empty?
|
||||
name && (@name_index[name.downcase] || @name_index[name.split(',').first.downcase])
|
||||
end
|
||||
|
||||
# Public: Look up Language by one of its aliases.
|
||||
@@ -164,7 +165,8 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.find_by_alias(name)
|
||||
name && @alias_index[name.downcase]
|
||||
return nil if name.to_s.empty?
|
||||
name && (@alias_index[name.downcase] || @alias_index[name.split(',').first.downcase])
|
||||
end
|
||||
|
||||
# Public: Look up Languages by filename.
|
||||
@@ -240,7 +242,8 @@ module Linguist
|
||||
#
|
||||
# Returns the Language or nil if none was found.
|
||||
def self.[](name)
|
||||
name && @index[name.downcase]
|
||||
return nil if name.to_s.empty?
|
||||
name && (@index[name.downcase] || @index[name.split(',').first.downcase])
|
||||
end
|
||||
|
||||
# Public: A List of popular languages
|
||||
@@ -541,7 +544,7 @@ module Linguist
|
||||
if extnames = extensions[name]
|
||||
extnames.each do |extname|
|
||||
if !options['extensions'].index { |x| x.downcase.end_with? extname.downcase }
|
||||
warn "#{name} has a sample with extension (#{extname.downcase}) that isn't explicitly defined in languages.yml" unless extname == '.script!'
|
||||
warn "#{name} has a sample with extension (#{extname.downcase}) that isn't explicitly defined in languages.yml"
|
||||
options['extensions'] << extname
|
||||
end
|
||||
end
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -150,9 +150,10 @@ module Linguist
|
||||
next if delta.binary
|
||||
|
||||
if [:added, :modified].include? delta.status
|
||||
# Skip submodules
|
||||
# Skip submodules and symlinks
|
||||
mode = delta.new_file[:mode]
|
||||
next if (mode & 040000) != 0
|
||||
mode_format = (mode & 0170000)
|
||||
next if mode_format == 0120000 || mode_format == 040000 || mode_format == 0160000
|
||||
|
||||
blob = Linguist::LazyBlob.new(repository, delta.new_file[:oid], new, mode.to_s(8))
|
||||
|
||||
|
||||
@@ -50,16 +50,13 @@ module Linguist
|
||||
end
|
||||
else
|
||||
path = File.join(dirname, filename)
|
||||
|
||||
if File.extname(filename) == ""
|
||||
raise "#{path} is missing an extension, maybe it belongs in filenames/ subdir"
|
||||
end
|
||||
extname = File.extname(filename)
|
||||
|
||||
yield({
|
||||
:path => path,
|
||||
:language => category,
|
||||
:interpreter => Shebang.interpreter(File.read(path)),
|
||||
:extname => File.extname(filename)
|
||||
:extname => extname.empty? ? nil : extname
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -23,17 +23,20 @@ module Linguist
|
||||
# First line must start with #!
|
||||
return unless shebang && shebang.start_with?("#!")
|
||||
|
||||
# Get the parts of the shebang without the #!
|
||||
tokens = shebang.sub(/^#!\s*/, '').strip.split(' ')
|
||||
s = StringScanner.new(shebang)
|
||||
|
||||
# There was nothing after the #!
|
||||
return if tokens.empty?
|
||||
return unless path = s.scan(/^#!\s*\S+/)
|
||||
|
||||
# Get the name of the interpreter
|
||||
script = File.basename(tokens.first)
|
||||
# Keep going
|
||||
script = path.split('/').last
|
||||
|
||||
# Get next argument if interpreter was /usr/bin/env
|
||||
script = tokens[1] if script == 'env'
|
||||
# if /usr/bin/env type shebang then walk the string
|
||||
if script == 'env'
|
||||
s.scan(/\s+/)
|
||||
s.scan(/.*=[^\s]+\s+/) # skip over variable arguments e.g. foo=bar
|
||||
script = s.scan(/\S+/)
|
||||
end
|
||||
|
||||
# Interpreter was /usr/bin/env with no arguments
|
||||
return unless script
|
||||
@@ -41,6 +44,9 @@ module Linguist
|
||||
# "python2.6" -> "python2"
|
||||
script.sub! /(\.\d+)$/, ''
|
||||
|
||||
# #! perl -> perl
|
||||
script.sub! /^#!\s*/, ''
|
||||
|
||||
# Check for multiline shebang hacks that call `exec`
|
||||
if script == 'sh' &&
|
||||
data.lines.first(5).any? { |l| l.match(/exec (\w+).+\$0.+\$@/) }
|
||||
|
||||
@@ -3,17 +3,7 @@ module Linguist
|
||||
# Detects language based on filename and/or extension
|
||||
class Filename
|
||||
def self.call(blob, _)
|
||||
name = blob.name.to_s
|
||||
|
||||
# A bit of an elegant hack. If the file is executable but extensionless,
|
||||
# append a "magic" extension so it can be classified with other
|
||||
# languages that have shebang scripts.
|
||||
extensions = FileBlob.new(name).extensions
|
||||
if extensions.empty? && blob.mode && (blob.mode.to_i(8) & 05) == 05
|
||||
name += ".script!"
|
||||
end
|
||||
|
||||
Language.find_by_filename(name)
|
||||
Language.find_by_filename(blob.name.to_s)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,7 +2,7 @@ module Linguist
|
||||
module Strategy
|
||||
class Modeline
|
||||
EmacsModeline = /-\*-\s*(?:(?!mode)[\w-]+\s*:\s*(?:[\w+-]+)\s*;?\s*)*(?:mode\s*:)?\s*([\w+-]+)\s*(?:;\s*(?!mode)[\w-]+\s*:\s*[\w+-]+\s*)*;?\s*-\*-/i
|
||||
VimModeline = /\/\*\s*vim:\s*set\s*(?:ft|filetype)=(\w+):\s*\*\//i
|
||||
VimModeline = /vim:\s*set.*\s(?:ft|filetype)=(\w+)\s?.*:/i
|
||||
|
||||
# Public: Detects language based on Vim and Emacs modelines
|
||||
#
|
||||
|
||||
@@ -22,8 +22,10 @@ module Linguist
|
||||
# Start state on token, ignore anything till the next newline
|
||||
SINGLE_LINE_COMMENTS = [
|
||||
'//', # C
|
||||
'--', # Ada, Haskell, AppleScript
|
||||
'#', # Ruby
|
||||
'%', # Tex
|
||||
'"', # Vim
|
||||
]
|
||||
|
||||
# Start state on opening token, ignore anything until the closing
|
||||
@@ -94,7 +96,7 @@ module Linguist
|
||||
end
|
||||
|
||||
# Skip number literals
|
||||
elsif s.scan(/(0x)?\d(\d|\.)*/)
|
||||
elsif s.scan(/(0x\h(\h|\.)*|\d(\d|\.)*)([uU][lL]{0,2}|([eE][-+]\d*)?[fFlL]*)/)
|
||||
|
||||
# SGML style brackets
|
||||
elsif token = s.scan(/<[^\s<>][^<>]*>/)
|
||||
@@ -130,6 +132,9 @@ module Linguist
|
||||
# extract_shebang("#!/usr/bin/env node")
|
||||
# # => "node"
|
||||
#
|
||||
# extract_shebang("#!/usr/bin/env A=B foo=bar awk -f")
|
||||
# # => "awk"
|
||||
#
|
||||
# Returns String token or nil it couldn't be parsed.
|
||||
def extract_shebang(data)
|
||||
s = StringScanner.new(data)
|
||||
@@ -138,6 +143,7 @@ module Linguist
|
||||
script = path.split('/').last
|
||||
if script == 'env'
|
||||
s.scan(/\s+/)
|
||||
s.scan(/.*=[^\s]+\s+/)
|
||||
script = s.scan(/\S+/)
|
||||
end
|
||||
script = script[/[^\d]+/, 0] if script
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
- 3rd[-_]?party/
|
||||
- vendors?/
|
||||
- extern(al)?/
|
||||
- (^|/)[Vv]+endor/
|
||||
|
||||
# Debian packaging
|
||||
- ^debian/
|
||||
@@ -121,7 +122,7 @@
|
||||
- (^|/)Chart\.js$
|
||||
|
||||
# Codemirror
|
||||
- (^|/)[Cc]ode[Mm]irror/(lib|mode|theme|addon|keymap)
|
||||
- (^|/)[Cc]ode[Mm]irror/(lib|mode|theme|addon|keymap|demo)
|
||||
|
||||
# SyntaxHighlighter - http://alexgorbatchev.com/
|
||||
- (^|/)shBrush([^.]*)\.js$
|
||||
@@ -163,12 +164,26 @@
|
||||
|
||||
## Obj-C ##
|
||||
|
||||
# Carthage
|
||||
- ^Carthage/
|
||||
|
||||
# Cocoapods
|
||||
- ^Pods/
|
||||
|
||||
# Sparkle
|
||||
- (^|/)Sparkle/
|
||||
|
||||
# Crashlytics
|
||||
- Crashlytics.framework/
|
||||
|
||||
# Fabric
|
||||
- Fabric.framework/
|
||||
|
||||
# git config files
|
||||
- gitattributes$
|
||||
- gitignore$
|
||||
- gitmodules$
|
||||
|
||||
## Groovy ##
|
||||
|
||||
# Gradle
|
||||
@@ -213,19 +228,6 @@
|
||||
# Html5shiv
|
||||
- (^|/)html5shiv\.js$
|
||||
|
||||
# Samples folders
|
||||
- ^[Ss]amples/
|
||||
|
||||
# LICENSE, README, git config files
|
||||
- ^COPYING$
|
||||
- LICENSE$
|
||||
- License$
|
||||
- gitattributes$
|
||||
- gitignore$
|
||||
- gitmodules$
|
||||
- ^README$
|
||||
- ^readme$
|
||||
|
||||
# Test fixtures
|
||||
- ^[Tt]ests?/fixtures/
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module Linguist
|
||||
VERSION = "4.5.4"
|
||||
VERSION = "4.5.14"
|
||||
end
|
||||
|
||||
58
samples/AMPL/CT2.mod
Normal file
58
samples/AMPL/CT2.mod
Normal file
@@ -0,0 +1,58 @@
|
||||
param num_beams; # number of beams
|
||||
|
||||
param num_rows >= 1, integer; # number of rows
|
||||
param num_cols >= 1, integer; # number of columns
|
||||
|
||||
set BEAMS := 1 .. num_beams; # set of beams
|
||||
|
||||
set ROWS := 1 .. num_rows; # set of rows
|
||||
set COLUMNS := 1 .. num_cols; # set of columns
|
||||
|
||||
# values for entries of each beam
|
||||
param beam_values {BEAMS, ROWS, COLUMNS} >= 0;
|
||||
|
||||
# values of tumor
|
||||
param tumor_values {ROWS, COLUMNS} >= 0;
|
||||
|
||||
# values of critical area
|
||||
param critical_values {ROWS, COLUMNS} >= 0;
|
||||
|
||||
# critical maximum dosage requirement
|
||||
param critical_max;
|
||||
|
||||
# tumor minimum dosage requirement
|
||||
param tumor_min;
|
||||
|
||||
# dosage scalar of each beam
|
||||
var X {i in BEAMS} >= 0;
|
||||
|
||||
|
||||
# define the tumor area which includes the locations where tumor exists
|
||||
set tumor_area := {k in ROWS, h in COLUMNS: tumor_values[k,h] > 0};
|
||||
|
||||
# define critical area
|
||||
set critical_area := {k in ROWS, h in COLUMNS: critical_values[k,h] > 0};
|
||||
|
||||
var S {(k,h) in tumor_area} >= 0;
|
||||
var T {(k,h) in critical_area} >= 0;
|
||||
|
||||
# maximize total dosage in tumor area
|
||||
maximize total_tumor_dosage: sum {i in BEAMS} sum {(k,h) in tumor_area} X[i] * beam_values[i,k,h];
|
||||
|
||||
# minimize total dosage in critical area
|
||||
minimize total_critical_dosage: sum {i in BEAMS} sum {(k,h) in critical_area} X[i] * beam_values[i,k,h];
|
||||
|
||||
# minimize total tumor slack
|
||||
minimize total_tumor_slack: sum {(k,h) in tumor_area} S[k,h];
|
||||
|
||||
# minimize total critical area slack
|
||||
minimize total_critical_slack: sum {(k,h) in critical_area} T[k,h];
|
||||
|
||||
# total dosage at each tumor location [k,h] should be >= min tumor dosage with slack variable
|
||||
subject to tumor_limit {(k,h) in tumor_area} : sum {i in BEAMS} X[i] * beam_values[i,k,h] == tumor_min - S[k,h];
|
||||
|
||||
# total dosage at each critical location [k,h] should be = max critical dosage with slack variable
|
||||
subject to critical_limit {(k,h) in critical_area} : sum {i in BEAMS} X[i] * beam_values[i,k,h] == critical_max + T[k,h];
|
||||
|
||||
|
||||
|
||||
55
samples/API Blueprint/actions.apib
Normal file
55
samples/API Blueprint/actions.apib
Normal file
@@ -0,0 +1,55 @@
|
||||
FORMAT: 1A
|
||||
|
||||
# Advanced Action API
|
||||
A resource action is – in fact – a state transition. This API example demonstrates an action - state transition - to another resource.
|
||||
|
||||
## API Blueprint
|
||||
+ [Previous: Resource Model](11.%20Resource%20Model.md)
|
||||
+ [This: Raw API Blueprint](https://raw.github.com/apiaryio/api-blueprint/master/examples/11.%20Advanced%20Action.md)
|
||||
|
||||
# Tasks [/tasks/tasks{?status,priority}]
|
||||
|
||||
+ Parameters
|
||||
+ status (string)
|
||||
+ priority (number)
|
||||
|
||||
## List All Tasks [GET]
|
||||
|
||||
+ Response 200 (application/json)
|
||||
|
||||
[
|
||||
{
|
||||
"id": 123,
|
||||
"name": "Exercise in gym",
|
||||
"done": false,
|
||||
"type": "task"
|
||||
},
|
||||
{
|
||||
"id": 124,
|
||||
"name": "Shop for groceries",
|
||||
"done": true,
|
||||
"type": "task"
|
||||
}
|
||||
]
|
||||
|
||||
## Retrieve Task [GET /task/{id}]
|
||||
This is a state transition to another resource
|
||||
|
||||
+ Parameters
|
||||
+ id (string)
|
||||
|
||||
+ Response 200 (application/json)
|
||||
|
||||
{
|
||||
"id": 123,
|
||||
"name": "Go to gym",
|
||||
"done": false,
|
||||
"type": "task"
|
||||
}
|
||||
|
||||
## Delete Task [DELETE /task/{id}]
|
||||
|
||||
+ Parameters
|
||||
+ id (string)
|
||||
|
||||
+ Response 204
|
||||
39
samples/API Blueprint/attributes.apib
Normal file
39
samples/API Blueprint/attributes.apib
Normal file
@@ -0,0 +1,39 @@
|
||||
FORMAT: 1A
|
||||
|
||||
# Attributes API
|
||||
This API example demonstrates how to describe body attributes of a request or response message.
|
||||
|
||||
In this case, the description is complementary (and duplicate!) to the provided JSON example in the body section. The [Advanced Attributes](09.%20Advanced%20Attributes.md) API example will demonstrate how to avoid duplicates and how to reuse attributes descriptions.
|
||||
|
||||
## API Blueprint
|
||||
+ [Previous: Parameters](07.%20Parameters.md)
|
||||
+ [This: Raw API Blueprint](https://raw.github.com/apiaryio/api-blueprint/master/examples/08.%20Attributes.md)
|
||||
+ [Next: Advanced Attributes](09.%20Advanced%20Attributes.md)
|
||||
|
||||
# Group Coupons
|
||||
|
||||
## Coupon [/coupons/{id}]
|
||||
A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer.
|
||||
|
||||
### Retrieve a Coupon [GET]
|
||||
Retrieves the coupon with the given ID.
|
||||
|
||||
+ Response 200 (application/json)
|
||||
|
||||
+ Attributes (object)
|
||||
+ id: 250FF (string)
|
||||
+ created: 1415203908 (number) - Time stamp
|
||||
+ percent_off: 25 (number)
|
||||
|
||||
A positive integer between 1 and 100 that represents the discount the coupon will apply.
|
||||
|
||||
+ redeem_by (number) - Date after which the coupon can no longer be redeemed
|
||||
|
||||
+ Body
|
||||
|
||||
{
|
||||
"id": "250FF",
|
||||
"created": 1415203908,
|
||||
"percent_off": 25,
|
||||
"redeem_by:" null
|
||||
}
|
||||
18
samples/API Blueprint/simple.apib
Normal file
18
samples/API Blueprint/simple.apib
Normal file
@@ -0,0 +1,18 @@
|
||||
FORMAT: 1A
|
||||
|
||||
# The Simplest API
|
||||
This is one of the simplest APIs written in the **API Blueprint**.
|
||||
One plain resource combined with a method and that's it! We will explain what is going on in the next installment - [Resource and Actions](02.%20Resource%20and%20Actions.md).
|
||||
|
||||
**Note:** As we progress through the examples, do not also forget to view the [Raw](https://raw.github.com/apiaryio/api-blueprint/master/examples/01.%20Simplest%20API.md) code to see what is really going on in the API Blueprint, as opposed to just seeing the output of the Github Markdown parser.
|
||||
|
||||
Also please keep in mind that every single example in this course is a **real API Blueprint** and as such you can **parse** it with the [API Blueprint parser](https://github.com/apiaryio/drafter) or one of its [bindings](https://github.com/apiaryio/drafter#bindings).
|
||||
|
||||
## API Blueprint
|
||||
+ [This: Raw API Blueprint](https://raw.github.com/apiaryio/api-blueprint/master/examples/01.%20Simplest%20API.md)
|
||||
+ [Next: Resource and Actions](02.%20Resource%20and%20Actions.md)
|
||||
|
||||
# GET /message
|
||||
+ Response 200 (text/plain)
|
||||
|
||||
Hello World!
|
||||
17
samples/ApacheConf/apache.vhost
Normal file
17
samples/ApacheConf/apache.vhost
Normal file
@@ -0,0 +1,17 @@
|
||||
#######################
|
||||
# HOSTNAME
|
||||
######################
|
||||
|
||||
<VirtualHost 127.0.0.1:PORT>
|
||||
ServerAdmin patrick@heysparkbox.com
|
||||
DocumentRoot "/var/www/HOSTNAME"
|
||||
ServerName HOSTNAME
|
||||
|
||||
<Directory "/var/www/HOSTNAME">
|
||||
Options Indexes MultiViews FollowSymLinks
|
||||
AllowOverride All
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
DirectoryIndex index.php
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
@@ -1,6 +1,9 @@
|
||||
AsciiDoc Home Page
|
||||
==================
|
||||
|
||||
Title
|
||||
-----
|
||||
|
||||
Example Articles
|
||||
~~~~~~~~~~~~~~~~
|
||||
- Item 1
|
||||
|
||||
245
samples/Assembly/fp_sqr32_160_comba.inc
Normal file
245
samples/Assembly/fp_sqr32_160_comba.inc
Normal file
@@ -0,0 +1,245 @@
|
||||
|
||||
push r2
|
||||
dint
|
||||
nop
|
||||
bis #MPYDLYWRTEN,&MPY32CTL0
|
||||
bic #MPYDLY32,&MPY32CTL0
|
||||
mov #SUMEXT,r13
|
||||
clr r12
|
||||
|
||||
mov @r15+,r4
|
||||
mov @r15+,r5
|
||||
|
||||
mov @r15+,r6
|
||||
mov @r15+,r7
|
||||
|
||||
mov @r15+,r8
|
||||
mov @r15+,r9
|
||||
|
||||
mov @r15+,r10
|
||||
mov @r15+,r11
|
||||
|
||||
sub #2*8,r15
|
||||
|
||||
/* SELF_STEP_FIRST */
|
||||
mov r4,&MPY32L
|
||||
mov r5,&MPY32H
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*0(r14)
|
||||
mov &RES1,2*(0+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
|
||||
/* STEP_1 */
|
||||
mov r4,&MAC32L
|
||||
mov r5,&MAC32H
|
||||
mov r6,&OP2L
|
||||
mov r7,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r6,&OP2L
|
||||
mov r7,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*2(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(2+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
/* STEP_1 */
|
||||
mov r4,&MAC32L
|
||||
mov r5,&MAC32H
|
||||
mov r8,&OP2L
|
||||
mov r9,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r8,&OP2L
|
||||
mov r9,&OP2H
|
||||
|
||||
/* SELF_STEP */
|
||||
mov r6,&MAC32L
|
||||
mov r7,&MAC32H
|
||||
add @r13,r12
|
||||
mov r6,&OP2L
|
||||
mov r7,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*4(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(4+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
/* STEP_1 */
|
||||
mov r4,&MAC32L
|
||||
mov r5,&MAC32H
|
||||
mov r10,&OP2L
|
||||
mov r11,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r10,&OP2L
|
||||
mov r11,&OP2H
|
||||
|
||||
/* STEP_2MORE */
|
||||
mov r6,&MAC32L
|
||||
mov r7,&MAC32H
|
||||
add @r13,r12
|
||||
mov r8,&OP2L
|
||||
mov r9,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r8,&OP2L
|
||||
mov r9,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*6(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(6+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
/* STEP_1 */
|
||||
mov r4,&MAC32L
|
||||
mov r5,&MAC32H
|
||||
mov 2*8(r15),&OP2L
|
||||
mov 2*9(r15),&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov 2*8(r15),&OP2L
|
||||
mov 2*9(r15),&OP2H
|
||||
|
||||
/* STEP_2MORE */
|
||||
mov r6,&MAC32L
|
||||
mov r7,&MAC32H
|
||||
add @r13,r12
|
||||
mov r10,&OP2L
|
||||
mov r11,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r10,&OP2L
|
||||
mov r11,&OP2H
|
||||
|
||||
/* SELF_STEP */
|
||||
mov r8,&MAC32L
|
||||
mov r9,&MAC32H
|
||||
add @r13,r12
|
||||
mov r8,&OP2L
|
||||
mov r9,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*8(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(8+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
mov 2*8(r15),r4
|
||||
mov 2*(8+1)(r15),r5
|
||||
|
||||
/* STEP_1 */
|
||||
mov r6,&MAC32L
|
||||
mov r7,&MAC32H
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
|
||||
/* STEP_2MORE */
|
||||
mov r8,&MAC32L
|
||||
mov r9,&MAC32H
|
||||
add @r13,r12
|
||||
mov r10,&OP2L
|
||||
mov r11,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r10,&OP2L
|
||||
mov r11,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*10(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(10+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
/* STEP_1 */
|
||||
mov r8,&MAC32L
|
||||
mov r9,&MAC32H
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
|
||||
/* SELF_STEP */
|
||||
mov r10,&MAC32L
|
||||
mov r11,&MAC32H
|
||||
add @r13,r12
|
||||
mov r10,&OP2L
|
||||
mov r11,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*12(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(12+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
/* STEP_1 */
|
||||
mov r10,&MAC32L
|
||||
mov r11,&MAC32H
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
add &SUMEXT,r12
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*14(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(14+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
/* SELF_STEP_1 */
|
||||
mov r4,&MAC32L
|
||||
mov r5,&MAC32H
|
||||
mov r4,&OP2L
|
||||
mov r5,&OP2H
|
||||
|
||||
/* COLUMN_END */
|
||||
mov &RES0,2*16(r14)
|
||||
add @r13,r12
|
||||
mov &RES1,2*(16+1)(r14)
|
||||
mov &RES2,&RES0
|
||||
mov &RES3,&RES1
|
||||
mov r12,&RES2
|
||||
clr &RES3
|
||||
clr r12
|
||||
|
||||
/* END */
|
||||
mov &RES0,2*18(r14)
|
||||
mov &RES1,2*(18+1)(r14)
|
||||
pop r2
|
||||
eint
|
||||
170
samples/Assembly/lib.inc
Normal file
170
samples/Assembly/lib.inc
Normal file
@@ -0,0 +1,170 @@
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; 显示 AL 中的数字
|
||||
; ------------------------------------------------------------------------
|
||||
DispAL:
|
||||
push ecx
|
||||
push edx
|
||||
push edi
|
||||
|
||||
mov edi, [dwDispPos]
|
||||
|
||||
mov ah, 0Fh ; 0000b: 黑底 1111b: 白字
|
||||
mov dl, al
|
||||
shr al, 4
|
||||
mov ecx, 2
|
||||
.begin:
|
||||
and al, 01111b
|
||||
cmp al, 9
|
||||
ja .1
|
||||
add al, '0'
|
||||
jmp .2
|
||||
.1:
|
||||
sub al, 0Ah
|
||||
add al, 'A'
|
||||
.2:
|
||||
mov [gs:edi], ax
|
||||
add edi, 2
|
||||
|
||||
mov al, dl
|
||||
loop .begin
|
||||
;add edi, 2
|
||||
|
||||
mov [dwDispPos], edi
|
||||
|
||||
pop edi
|
||||
pop edx
|
||||
pop ecx
|
||||
|
||||
ret
|
||||
; DispAL 结束-------------------------------------------------------------
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; 显示一个整形数
|
||||
; ------------------------------------------------------------------------
|
||||
DispInt:
|
||||
mov eax, [esp + 4]
|
||||
shr eax, 24
|
||||
call DispAL
|
||||
|
||||
mov eax, [esp + 4]
|
||||
shr eax, 16
|
||||
call DispAL
|
||||
|
||||
mov eax, [esp + 4]
|
||||
shr eax, 8
|
||||
call DispAL
|
||||
|
||||
mov eax, [esp + 4]
|
||||
call DispAL
|
||||
|
||||
mov ah, 07h ; 0000b: 黑底 0111b: 灰字
|
||||
mov al, 'h'
|
||||
push edi
|
||||
mov edi, [dwDispPos]
|
||||
mov [gs:edi], ax
|
||||
add edi, 4
|
||||
mov [dwDispPos], edi
|
||||
pop edi
|
||||
|
||||
ret
|
||||
; DispInt 结束------------------------------------------------------------
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; 显示一个字符串
|
||||
; ------------------------------------------------------------------------
|
||||
DispStr:
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
|
||||
mov esi, [ebp + 8] ; pszInfo
|
||||
mov edi, [dwDispPos]
|
||||
mov ah, 0Fh
|
||||
.1:
|
||||
lodsb
|
||||
test al, al
|
||||
jz .2
|
||||
cmp al, 0Ah ; 是回车吗?
|
||||
jnz .3
|
||||
push eax
|
||||
mov eax, edi
|
||||
mov bl, 160
|
||||
div bl
|
||||
and eax, 0FFh
|
||||
inc eax
|
||||
mov bl, 160
|
||||
mul bl
|
||||
mov edi, eax
|
||||
pop eax
|
||||
jmp .1
|
||||
.3:
|
||||
mov [gs:edi], ax
|
||||
add edi, 2
|
||||
jmp .1
|
||||
|
||||
.2:
|
||||
mov [dwDispPos], edi
|
||||
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
ret
|
||||
; DispStr 结束------------------------------------------------------------
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; 换行
|
||||
; ------------------------------------------------------------------------
|
||||
DispReturn:
|
||||
push szReturn
|
||||
call DispStr ;printf("\n");
|
||||
add esp, 4
|
||||
|
||||
ret
|
||||
; DispReturn 结束---------------------------------------------------------
|
||||
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; 内存拷贝,仿 memcpy
|
||||
; ------------------------------------------------------------------------
|
||||
; void* MemCpy(void* es:pDest, void* ds:pSrc, int iSize);
|
||||
; ------------------------------------------------------------------------
|
||||
MemCpy:
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
|
||||
push esi
|
||||
push edi
|
||||
push ecx
|
||||
|
||||
mov edi, [ebp + 8] ; Destination
|
||||
mov esi, [ebp + 12] ; Source
|
||||
mov ecx, [ebp + 16] ; Counter
|
||||
.1:
|
||||
cmp ecx, 0 ; 判断计数器
|
||||
jz .2 ; 计数器为零时跳出
|
||||
|
||||
mov al, [ds:esi] ; ┓
|
||||
inc esi ; ┃
|
||||
; ┣ 逐字节移动
|
||||
mov byte [es:edi], al ; ┃
|
||||
inc edi ; ┛
|
||||
|
||||
dec ecx ; 计数器减一
|
||||
jmp .1 ; 循环
|
||||
.2:
|
||||
mov eax, [ebp + 8] ; 返回值
|
||||
|
||||
pop ecx
|
||||
pop edi
|
||||
pop esi
|
||||
mov esp, ebp
|
||||
pop ebp
|
||||
|
||||
ret ; 函数结束,返回
|
||||
; MemCpy 结束-------------------------------------------------------------
|
||||
|
||||
321
samples/Assembly/macros.inc
Normal file
321
samples/Assembly/macros.inc
Normal file
@@ -0,0 +1,321 @@
|
||||
BLARGG_MACROS_INCLUDED = 1
|
||||
|
||||
; Allows extra error checking with modified version
|
||||
; of ca65. Otherwise acts like a constant of 0.
|
||||
ADDR = 0
|
||||
|
||||
; Switches to Segment and places Line there.
|
||||
; Line can be an .align directive, .res, .byte, etc.
|
||||
; Examples:
|
||||
; seg_data BSS, .align 256
|
||||
; seg_data RODATA, {message: .byte "Test",0}
|
||||
.macro seg_data Segment, Line
|
||||
.pushseg
|
||||
.segment .string(Segment)
|
||||
Line
|
||||
.popseg
|
||||
.endmacro
|
||||
|
||||
; Reserves Size bytes in Segment for Name.
|
||||
; If Size is omitted, reserves one byte.
|
||||
.macro seg_res Segment, Name, Size
|
||||
.ifblank Size
|
||||
seg_data Segment, Name: .res 1
|
||||
.else
|
||||
seg_data Segment, Name: .res Size
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
; Shortcuts for zeropage, bss, and stack
|
||||
.define zp_res seg_res ZEROPAGE,
|
||||
.define nv_res seg_res NVRAM,
|
||||
.define bss_res seg_res BSS,
|
||||
.define sp_res seg_res STACK,
|
||||
.define zp_byte zp_res
|
||||
|
||||
; Copies byte from Src to Addr. If Src begins with #,
|
||||
; it sets Addr to the immediate value.
|
||||
; Out: A = byte copied
|
||||
; Preserved: X, Y
|
||||
.macro mov Addr, Src
|
||||
lda Src
|
||||
sta Addr
|
||||
.endmacro
|
||||
|
||||
; Copies word from Src to Addr. If Src begins with #,
|
||||
; it sets Addr the immediate value.
|
||||
; Out: A = high byte of word
|
||||
; Preserved: X, Y
|
||||
.macro movw Addr, Src
|
||||
.if .match( .left( 1, {Src} ), # )
|
||||
lda #<(.right( .tcount( {Src} )-1, {Src} ))
|
||||
sta Addr
|
||||
lda #>(.right( .tcount( {Src} )-1, {Src} ))
|
||||
sta 1+(Addr)
|
||||
.else
|
||||
lda Src
|
||||
sta Addr
|
||||
lda 1+(Src)
|
||||
sta 1+(Addr)
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
; Increments 16-bit value at Addr.
|
||||
; Out: EQ/NE based on resulting 16-bit value
|
||||
; Preserved: A, X, Y
|
||||
.macro incw Addr
|
||||
.local @Skip
|
||||
inc Addr
|
||||
bne @Skip
|
||||
inc 1+(Addr)
|
||||
@Skip:
|
||||
.endmacro
|
||||
|
||||
; Adds Src to word at Addr.
|
||||
; Out: A = high byte of result, carry set appropriately
|
||||
; Preserved: X, Y
|
||||
.macro addw Addr, Src
|
||||
.if .match( .left( 1, {Src} ), # )
|
||||
addw_ Addr,(.right( .tcount( {Src} )-1, {Src} ))
|
||||
.else
|
||||
lda Addr
|
||||
clc
|
||||
adc Src
|
||||
sta Addr
|
||||
|
||||
lda 1+(Addr)
|
||||
adc 1+(Src)
|
||||
sta 1+(Addr)
|
||||
.endif
|
||||
.endmacro
|
||||
.macro addw_ Addr, Imm
|
||||
lda Addr
|
||||
clc
|
||||
adc #<Imm
|
||||
sta Addr
|
||||
|
||||
;.if (Imm >> 8) <> 0
|
||||
lda 1+(Addr)
|
||||
adc #>Imm
|
||||
sta 1+(Addr)
|
||||
;.else
|
||||
; .local @Skip
|
||||
; bcc @Skip
|
||||
; inc 1+(Addr)
|
||||
;@Skip:
|
||||
;.endif
|
||||
.endmacro
|
||||
|
||||
; Splits list of words into tables of low and high bytes
|
||||
; Example: split_words foo, {$1234, $5678}
|
||||
; expands to:
|
||||
; foo_l: $34, $78
|
||||
; foo_h: $12, $56
|
||||
; foo_count = 2
|
||||
.macro split_words Label, Words
|
||||
.ident (.concat (.string(Label), "_l")): .lobytes Words
|
||||
.ident (.concat (.string(Label), "_h")): .hibytes Words
|
||||
.ident (.concat (.string(Label), "_count")) = * - .ident (.concat (.string(Label), "_h"))
|
||||
.endmacro
|
||||
|
||||
.macro SELECT Bool, True, False, Extra
|
||||
.ifndef Bool
|
||||
False Extra
|
||||
.elseif Bool <> 0
|
||||
True Extra
|
||||
.else
|
||||
False Extra
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro DEFAULT Name, Value
|
||||
.ifndef Name
|
||||
Name = Value
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.ifp02
|
||||
; 6502 doesn't define these alternate names
|
||||
.define blt bcc
|
||||
.define bge bcs
|
||||
.endif
|
||||
.define jlt jcc
|
||||
.define jge jcs
|
||||
|
||||
; Jxx Target = Bxx Target, except it can go farther than
|
||||
; 128 bytes. Implemented via branch around a JMP.
|
||||
|
||||
; Don't use ca65's longbranch, because they fail for @labels
|
||||
;.macpack longbranch
|
||||
|
||||
.macro jeq Target
|
||||
bne *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
.macro jne Target
|
||||
beq *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
.macro jmi Target
|
||||
bpl *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
.macro jpl Target
|
||||
bmi *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
.macro jcs Target
|
||||
bcc *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
.macro jcc Target
|
||||
bcs *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
.macro jvs Target
|
||||
bvc *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
.macro jvc Target
|
||||
bvs *+5
|
||||
jmp Target
|
||||
.endmacro
|
||||
|
||||
|
||||
; Passes constant data to routine in addr
|
||||
; Preserved: A, X, Y
|
||||
.macro jsr_with_addr routine,data
|
||||
.local Addr
|
||||
pha
|
||||
lda #<Addr
|
||||
sta addr
|
||||
lda #>Addr
|
||||
sta addr+1
|
||||
pla
|
||||
jsr routine
|
||||
seg_data RODATA,{Addr: data}
|
||||
.endmacro
|
||||
|
||||
; Calls routine multiple times, with A having the
|
||||
; value 'start' the first time, 'start+step' the
|
||||
; second time, up to 'end' for the last time.
|
||||
.macro for_loop routine,start,end,step
|
||||
.local @for_loop
|
||||
lda #start
|
||||
@for_loop:
|
||||
pha
|
||||
jsr routine
|
||||
pla
|
||||
clc
|
||||
adc #step
|
||||
cmp #<((end)+(step))
|
||||
bne @for_loop
|
||||
.endmacro
|
||||
|
||||
; Calls routine n times. The value of A in the routine
|
||||
; counts from 0 to n-1.
|
||||
.macro loop_n_times routine,n
|
||||
for_loop routine,0,n-1,+1
|
||||
.endmacro
|
||||
|
||||
; Same as for_loop, except uses 16-bit value in YX.
|
||||
; -256 <= step <= 255
|
||||
.macro for_loop16 routine,start,end,step
|
||||
.if (step) < -256 || (step) > 255
|
||||
.error "Step must be within -256 to 255"
|
||||
.endif
|
||||
.local @for_loop_skip
|
||||
.local @for_loop
|
||||
ldy #>(start)
|
||||
lda #<(start)
|
||||
@for_loop:
|
||||
tax
|
||||
pha
|
||||
tya
|
||||
pha
|
||||
jsr routine
|
||||
pla
|
||||
tay
|
||||
pla
|
||||
clc
|
||||
adc #step
|
||||
.if (step) > 0
|
||||
bcc @for_loop_skip
|
||||
iny
|
||||
.else
|
||||
bcs @for_loop_skip
|
||||
dey
|
||||
.endif
|
||||
@for_loop_skip:
|
||||
cmp #<((end)+(step))
|
||||
bne @for_loop
|
||||
cpy #>((end)+(step))
|
||||
bne @for_loop
|
||||
.endmacro
|
||||
|
||||
; Stores byte at addr
|
||||
; Preserved: X, Y
|
||||
.macro setb addr, byte
|
||||
lda #byte
|
||||
sta addr
|
||||
.endmacro
|
||||
|
||||
; Stores word at addr
|
||||
; Preserved: X, Y
|
||||
.macro setw addr, word
|
||||
lda #<(word)
|
||||
sta addr
|
||||
lda #>(word)
|
||||
sta addr+1
|
||||
.endmacro
|
||||
|
||||
; Loads XY with 16-bit immediate or value at address
|
||||
.macro ldxy Arg
|
||||
.if .match( .left( 1, {Arg} ), # )
|
||||
ldy #<(.right( .tcount( {Arg} )-1, {Arg} ))
|
||||
ldx #>(.right( .tcount( {Arg} )-1, {Arg} ))
|
||||
.else
|
||||
ldy (Arg)
|
||||
ldx (Arg)+1
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
; Increments XY as 16-bit register, in CONSTANT time.
|
||||
; Z flag set based on entire result.
|
||||
; Preserved: A
|
||||
; Time: 7 clocks
|
||||
.macro inxy
|
||||
iny ; 2
|
||||
beq *+4 ; 3
|
||||
; -1
|
||||
bne *+3 ; 3
|
||||
; -1
|
||||
inx ; 2
|
||||
.endmacro
|
||||
|
||||
; Negates A and adds it to operand
|
||||
.macro subaf Operand
|
||||
eor #$FF
|
||||
sec
|
||||
adc Operand
|
||||
.endmacro
|
||||
|
||||
; Initializes CPU registers to reasonable values
|
||||
; Preserved: A, Y
|
||||
.macro init_cpu_regs
|
||||
sei
|
||||
cld ; unnecessary on NES, but might help on clone
|
||||
ldx #$FF
|
||||
txs
|
||||
.ifndef BUILD_NSF
|
||||
inx
|
||||
stx PPUCTRL
|
||||
.endif
|
||||
.endmacro
|
||||
195
samples/Brainfuck/factor.b
Normal file
195
samples/Brainfuck/factor.b
Normal file
@@ -0,0 +1,195 @@
|
||||
* factor an arbitrarily large positive integer
|
||||
*
|
||||
* Copyright (C) 1999 by Brian Raiter
|
||||
* under the GNU General Public License
|
||||
|
||||
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-
|
||||
|
||||
*
|
||||
* read in the number
|
||||
*
|
||||
|
||||
<<<<<<<<<+
|
||||
[-[>>>>>>>>>>][-]<<<<<<<<<<[[->>>>>>>>>>+<<<<<<<<<<]<<<<<<<<<<]
|
||||
>>>>>>>>>>,----------]
|
||||
>>>>>>>>>>[------------------------------------->>>>>>>>>->]
|
||||
<[+>[>>>>>>>>>+>]<-<<<<<<<<<<]-
|
||||
|
||||
*
|
||||
* display the number and initialize the loop variable to two
|
||||
*
|
||||
|
||||
[>++++++++++++++++++++++++++++++++++++++++++++++++.
|
||||
------------------------------------------------<<<<<<<<<<<]
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
|
||||
--------------------------.[-]
|
||||
>>>>>>>>>>>>++<<<<+
|
||||
|
||||
*
|
||||
* the main loop
|
||||
*
|
||||
|
||||
[ [-]>>
|
||||
|
||||
*
|
||||
* make copies of the number and the loop variable
|
||||
*
|
||||
|
||||
[>>>>[-]>[-]>[-]>[-]
|
||||
>[-]>[-]
|
||||
<<<<<<<[->>>+>+<<<<]>>>>>>>>]
|
||||
<<<<<<<<<<[>>>>>>[-<<<<+>>>>]<<<<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
[>[->>>+>>+<<<<<]>>>>>>>>>]
|
||||
<<<<<<<<<<[>>>>>>[-<<<<<+>>>>>]<<<<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
|
||||
*
|
||||
* divide the number by the loop variable
|
||||
*
|
||||
|
||||
[>>>[-]>>>[-]>[-]>>>] initialize
|
||||
<<<<<<<<<<[<<<<<<<<<<]
|
||||
>>>>>>>>>[-]>>>>>>>+<<<<<<<<[+]+
|
||||
[ ->> double divisor until above dividend
|
||||
[>>>>>>[->++<]>>>>]<<<<<<<<<<
|
||||
[>>>>>>>>[-]>[-]
|
||||
<<<<[->>>++<<<]<<<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
[>>>>>>>>[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<
|
||||
[->--------->>>>>>>>>+<<<<<<<<<<[->+<]]]]]]]]]]]>>]
|
||||
<<<<<<<<<<[>>>>>>>>>[-<+<<<+>>>>]<<<<<<<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
[>>>>>>>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>
|
||||
[-<--------->>>>>>>>>>>+<<<<<<<<<<[-<+>]]]]]]]]]]]>>>]
|
||||
<<<<<<<<<<
|
||||
[>>>>[->>>+>>+<<<<<]<<<<<<<<<<<<<<]
|
||||
>>>>>>>>>>[>>>>>>>[-<<<+>>>]>>>]<<<<<<<<<<
|
||||
[>>>>>>>>[->-<]>
|
||||
[<<<<<<<<<[<[-]>>>>>>>>>>[-<<<<<<<<<<+>>>>>>>>>>]<<<<<<<<<<<<<<<<<<<]
|
||||
>>>>>>>>>>>>>>>>>>>]
|
||||
<<<<<<<<<<<<<<<<<<<]
|
||||
>>>>>>>>>[+[+[+[+[+[+[+[+[+[+[[-]<+>]]]]]]]]]]]<
|
||||
]
|
||||
>>>>>>>>
|
||||
[ subtract divisor from dividend
|
||||
<<<<<<
|
||||
[>>>>>>>>[-]>[-]<<<<<[->>>+>+<<<<]>>>>>>]<<<<<<<<<<
|
||||
[>>>>>>>>[-<<<<+>>>>]<<<[->>>+>+<<<<]<<<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
[>>>>>>>>>[-<<<<+>>>>]>]<<<<<<<<<<
|
||||
[>>>>>>>>[-<->]<<<<<<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
[>>>>>>>[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<[->+<
|
||||
[++++++++++[+>-<]>>>>>>>>>>-<<<<<<<<<<]]]]]]]]]]]>>>]
|
||||
>>>>>>>+
|
||||
[ if difference is nonnegative then
|
||||
[-]<<<<<<<<<<<<<<<<< replace dividend and increment quotient
|
||||
[>>>>[-]>>>>[-<<<<+>>>>]<<[->>+<<]<<<<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
[>>>>>>>>[->+<<<+>>]>>]<<<<<<<<<<
|
||||
[>>>[->>>>>>+<<<<<<]<<<<<<<<<<<<<]>>>>>>>>>>
|
||||
[>>>>>>>>>[-<<<<<<+>>>>>>[-<<<<<<+>>>>>>
|
||||
[-<<<<<<+>>>>>>[-<<<<<<+>>>>>>
|
||||
[-<<<<<<+>>>>>>[-<<<<<<+>>>>>>
|
||||
[-<<<<<<+>>>>>>[-<<<<<<+>>>>>>
|
||||
[-<<<<<<+>>>>>>[-<<<<<<--------->>>>>>>>>>>>>>>>+<<<<<<<<<<
|
||||
[-<<<<<<+>>>>>>]]]]]]]]]]]>]
|
||||
>>>>>>>
|
||||
] halve divisor and loop until zero
|
||||
<<<<<<<<<<<<<<<<<[<<<<<<<<<<]>>>>>>>>>>
|
||||
[>>>>>>>>[-]<<[->+<]<[->>>+<<<]>>>>>]<<<<<<<<<<
|
||||
[+>>>>>>>[-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+>
|
||||
[-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+>
|
||||
[-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+>
|
||||
[-<<<<<<<+>>>>>>>[-<<<<<<<->>>>>>+>
|
||||
[-<<<<<<<+>>>>>>>]]]]]]]]]<<<<<<<
|
||||
[->>>>>>>+<<<<<<<]-<<<<<<<<<<]
|
||||
>>>>>>>
|
||||
[-<<<<<<<<<<<+>>>>>>>>>>>]
|
||||
>>>[>>>>>>>[-<<<<<<<<<<<+++++>>>>>>>>>>>]>>>]<<<<<<<<<<
|
||||
[+>>>>>>>>[-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
|
||||
[-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
|
||||
[-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
|
||||
[-<<<<<<<<+>>>>>>>>[-<<<<<<<<->>>>>+>>>
|
||||
[-<<<<<<<<+>>>>>>>>]]]]]]]]]<<<<<<<<
|
||||
[->>>>>>>>+<<<<<<<<]-<<<<<<<<<<]
|
||||
>>>>>>>>[-<<<<<<<<<<<<<+>>>>>>>>>>>>>]>>
|
||||
[>>>>>>>>[-<<<<<<<<<<<<<+++++>>>>>>>>>>>>>]>>]<<<<<<<<<<
|
||||
[<<<<<<<<<<]>>>>>>>>>>
|
||||
>>>>>>
|
||||
]
|
||||
<<<<<<
|
||||
|
||||
*
|
||||
* make copies of the loop variable and the quotient
|
||||
*
|
||||
|
||||
[>>>[->>>>+>+<<<<<]>>>>>>>]
|
||||
<<<<<<<<<<
|
||||
[>>>>>>>[-<<<<+>>>>]<<<<<[->>>>>+>>+<<<<<<<]<<<<<<<<<<<<]
|
||||
>>>>>>>>>>[>>>>>>>[-<<<<<+>>>>>]>>>]<<<<<<<<<<
|
||||
|
||||
*
|
||||
* break out of the loop if the quotient is larger than the loop variable
|
||||
*
|
||||
|
||||
[>>>>>>>>>[-<->]<
|
||||
[<<<<<<<<
|
||||
[<<[-]>>>>>>>>>>[-<<<<<<<<<<+>>>>>>>>>>]<<<<<<<<<<<<<<<<<<]
|
||||
>>>>>>>>>>>>>>>>>>]<<<<<<<<<<<<<<<<<<]
|
||||
>>>>>>>>[>-<[+[+[+[+[+[+[+[+[+[[-]>+<]]]]]]]]]]]>+
|
||||
|
||||
[ [-]
|
||||
|
||||
*
|
||||
* partially increment the loop variable
|
||||
*
|
||||
|
||||
<[-]+>>>>+>>>>>>>>[>>>>>>>>>>]<<<<<<<<<<
|
||||
|
||||
*
|
||||
* examine the remainder for nonzero digits
|
||||
*
|
||||
|
||||
[<<<<<<[<<<<[<<<<<<<<<<]>>>>+<<<<<<<<<<]<<<<]
|
||||
>>>>>>>>>>>>>>>>>>>>[>>>>>>>>>>]<<<<<<<<<<[<<<<<<<<<<]
|
||||
>>>>-
|
||||
|
||||
[ [+]
|
||||
|
||||
*
|
||||
* decrement the loop variable and replace the number with the quotient
|
||||
*
|
||||
|
||||
>>>>>>>>-<<[>[-]>>[-<<+>>]>>>>>>>]<<<<<<<<<<
|
||||
|
||||
*
|
||||
* display the loop variable
|
||||
*
|
||||
|
||||
[+>>[>>>>>>>>+>>]<<-<<<<<<<<<<]-
|
||||
[>>++++++++++++++++++++++++++++++++++++++++++++++++.
|
||||
------------------------------------------------<<<<<<<<<<<<]
|
||||
++++++++++++++++++++++++++++++++.[-]>>>>
|
||||
|
||||
]
|
||||
|
||||
*
|
||||
* normalize the loop variable
|
||||
*
|
||||
|
||||
>>>>>>
|
||||
[>>[->>>>>+<<<<<[->>>>>+<<<<<
|
||||
[->>>>>+<<<<<[->>>>>+<<<<<
|
||||
[->>>>>+<<<<<[->>>>>+<<<<<
|
||||
[->>>>>+<<<<<[->>>>>+<<<<<
|
||||
[->>>>>+<<<<<[->>>>>--------->>>>>+<<<<<<<<<<
|
||||
[->>>>>+<<<<<]]]]]]]]]]]>>>>>>>>]
|
||||
<<<<<<<<<<[>>>>>>>[-<<<<<+>>>>>]<<<<<<<<<<<<<<<<<]
|
||||
>>>>>>>>>
|
||||
|
||||
]<
|
||||
|
||||
]>>
|
||||
|
||||
*
|
||||
* display the number and end
|
||||
*
|
||||
|
||||
[>>>>>>>>>>]<<<<<<<<<<[+>[>>>>>>>>>+>]<-<<<<<<<<<<]-
|
||||
[>++++++++++++++++++++++++++++++++++++++++++++++++.<<<<<<<<<<<]
|
||||
++++++++++.
|
||||
57
samples/C++/ClasspathVMSystemProperties.inc
Normal file
57
samples/C++/ClasspathVMSystemProperties.inc
Normal file
@@ -0,0 +1,57 @@
|
||||
//===- ClasspathVMSystem/Properties.cpp -----------------------------------===//
|
||||
//===--------------------- GNU classpath gnu/classpath/VMSystemProperties -===//
|
||||
//
|
||||
// The VMKit project
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include <sys/utsname.h>
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Classpath.h"
|
||||
#include "JavaArray.h"
|
||||
#include "JavaClass.h"
|
||||
#include "JavaObject.h"
|
||||
#include "JavaThread.h"
|
||||
#include "JavaUpcalls.h"
|
||||
#include "Jnjvm.h"
|
||||
|
||||
#include "SetProperties.inc"
|
||||
|
||||
using namespace j3;
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
JNIEXPORT void JNICALL Java_gnu_classpath_VMSystemProperties_preInit(
|
||||
#ifdef NATIVE_JNI
|
||||
JNIEnv *env,
|
||||
jclass clazz,
|
||||
#endif
|
||||
JavaObject* prop) {
|
||||
|
||||
llvm_gcroot(prop, 0);
|
||||
|
||||
BEGIN_NATIVE_EXCEPTION(0)
|
||||
|
||||
setProperties(prop);
|
||||
|
||||
END_NATIVE_EXCEPTION
|
||||
}
|
||||
|
||||
extern "C" void Java_gnu_classpath_VMSystemProperties_postInit__Ljava_util_Properties_2(JavaObject* prop) {
|
||||
|
||||
llvm_gcroot(prop, 0);
|
||||
|
||||
BEGIN_NATIVE_EXCEPTION(0)
|
||||
|
||||
setCommandLineProperties(prop);
|
||||
|
||||
END_NATIVE_EXCEPTION
|
||||
}
|
||||
|
||||
}
|
||||
2764
samples/C++/initClasses.inc
Normal file
2764
samples/C++/initClasses.inc
Normal file
File diff suppressed because it is too large
Load Diff
34
samples/C++/instances.inc
Normal file
34
samples/C++/instances.inc
Normal file
@@ -0,0 +1,34 @@
|
||||
#include "QPBO.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable: 4661)
|
||||
#endif
|
||||
|
||||
// Instantiations
|
||||
|
||||
template class QPBO<int>;
|
||||
template class QPBO<float>;
|
||||
template class QPBO<double>;
|
||||
|
||||
template <>
|
||||
inline void QPBO<int>::get_type_information(char*& type_name, char*& type_format)
|
||||
{
|
||||
type_name = "int";
|
||||
type_format = "d";
|
||||
}
|
||||
|
||||
template <>
|
||||
inline void QPBO<float>::get_type_information(char*& type_name, char*& type_format)
|
||||
{
|
||||
type_name = "float";
|
||||
type_format = "f";
|
||||
}
|
||||
|
||||
template <>
|
||||
inline void QPBO<double>::get_type_information(char*& type_name, char*& type_format)
|
||||
{
|
||||
type_name = "double";
|
||||
type_format = "Lf";
|
||||
}
|
||||
|
||||
|
||||
@@ -58,6 +58,34 @@ var BA: [BlockSpace] int;
|
||||
forall ba in BA do
|
||||
ba = here.id;
|
||||
|
||||
//
|
||||
// The 'hasSingleLocalSubdomain' method on arrays will return true if the
|
||||
// index set for a locale can be represented by a single domain.
|
||||
//
|
||||
if !BA.hasSingleLocalSubdomain() then
|
||||
halt("For a Block distribution, the index set per locale should be \
|
||||
represented by a single domain");
|
||||
|
||||
//
|
||||
// If the distribution's subdomains can be represented as single subdomain,
|
||||
// we can use the 'localSubdomain' method to get the index set for the
|
||||
// current locale.
|
||||
//
|
||||
// Below, we'll use the index set to confirm that the array elements have the
|
||||
// correct locale id.
|
||||
//
|
||||
|
||||
for L in Locales {
|
||||
on L {
|
||||
const indices = BA.localSubdomain();
|
||||
for i in indices {
|
||||
if BA[i] != L.id then
|
||||
halt("Error: incorrect locale id");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Output the Block-distributed array to visually see how the elements
|
||||
// are partitioned across the locales.
|
||||
@@ -104,6 +132,14 @@ writeln("Block Array Index Map");
|
||||
writeln(BA2);
|
||||
writeln();
|
||||
|
||||
//
|
||||
// We can use the 'targetLocales' method available on an array to get the
|
||||
// locales array used as targets.
|
||||
//
|
||||
for (L, ML) in zip(BA2.targetLocales(), MyLocales) do
|
||||
if L != ML then
|
||||
halt("Error: BA2.targetLocales() should equal MyLocales");
|
||||
|
||||
|
||||
|
||||
//
|
||||
@@ -126,6 +162,18 @@ writeln("Cyclic Array Index Map");
|
||||
writeln(CA);
|
||||
writeln();
|
||||
|
||||
//
|
||||
// The domain returned by 'localSubdomain' need not be a dense block, as is
|
||||
// the case for the Cyclic Distribution.
|
||||
//
|
||||
on Locales[0] {
|
||||
const indices = CA.localSubdomain();
|
||||
for i in indices {
|
||||
if CA[i] != 0 then
|
||||
halt("Error: Cyclic array values on Locale 0 should be zero");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Next, we'll declare a Block-Cyclic distribution. These
|
||||
@@ -134,7 +182,7 @@ writeln();
|
||||
// of indices. Thus, the BlockCyclic distribution is parameterized
|
||||
// by a starting index (as with Cyclic) and a block size (per
|
||||
// dimension) specifying how large the chunks to be dealt out are.
|
||||
//
|
||||
//
|
||||
const BlkCycSpace = Space dmapped BlockCyclic(startIdx=Space.low,
|
||||
blocksize=(2, 3));
|
||||
var BCA: [BlkCycSpace] int;
|
||||
@@ -146,6 +194,46 @@ writeln("Block-Cyclic Array Index Map");
|
||||
writeln(BCA);
|
||||
writeln();
|
||||
|
||||
//
|
||||
// A locale's index set for a Block-Cyclic distribution cannot be represented
|
||||
// by a single subdomain.
|
||||
//
|
||||
if BCA.hasSingleLocalSubdomain() then
|
||||
halt("A Block-Cyclic index set cannot be represented by a single subdomain");
|
||||
|
||||
//
|
||||
// If the local index set cannot be represented by a single subdomain,
|
||||
// we can use the 'localSubdomains' iterator to yield a number of domains
|
||||
// that represent the whole index set.
|
||||
//
|
||||
// Let's write a function that will use 'localSubdomains' to verify the
|
||||
// correctness of the array values.
|
||||
//
|
||||
|
||||
proc verifyID(Data: []) {
|
||||
for L in Locales {
|
||||
on L {
|
||||
for indices in Data.localSubdomains() {
|
||||
for i in indices {
|
||||
if Data[i] != L.id then
|
||||
halt("Error: incorrect locale id");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
verifyID(BCA);
|
||||
|
||||
//
|
||||
// The 'localSubdomains' iterator is also available on distributions that
|
||||
// can represent a locale's index set with a single domain. This allows us to
|
||||
// write more general code that will work for all distributions.
|
||||
//
|
||||
// This means that we can call the 'verifyID' function on any array, like the
|
||||
// 'BA' array from earlier.
|
||||
//
|
||||
verifyID(BA);
|
||||
|
||||
|
||||
//
|
||||
// The ReplicatedDist distribution is different: each of the
|
||||
|
||||
@@ -292,14 +292,14 @@ proc main() {
|
||||
LagrangeLeapFrog();
|
||||
|
||||
if debug {
|
||||
// deprint("[[ Forces ]]", fx, fy, fz);
|
||||
deprintatomic("[[ Forces ]]", fx, fy, fz);
|
||||
deprint("[[ Positions ]]", x, y, z);
|
||||
deprint("[[ p, e, q ]]", p, e, q);
|
||||
}
|
||||
if showProgress then
|
||||
writeln("time = ", format("%e", time), ", dt=", format("%e", deltatime),
|
||||
if doTiming then ", elapsed = " + (getCurrentTime()-iterTime)
|
||||
else "");
|
||||
writef("time = %er, dt=%er, %s", time, deltatime,
|
||||
if doTiming then ", elapsed = " + (getCurrentTime()-iterTime) +"\n"
|
||||
else "\n");
|
||||
}
|
||||
if (cycle == maxcycles) {
|
||||
writeln("Stopped early due to reaching maxnumsteps");
|
||||
@@ -314,12 +314,10 @@ proc main() {
|
||||
if printCoords {
|
||||
var outfile = open("coords.out", iomode.cw);
|
||||
var writer = outfile.writer();
|
||||
var fmtstr = if debug then "%1.9e" else "%1.4e";
|
||||
for i in Nodes {
|
||||
writer.writeln(format(fmtstr, x[i]), " ",
|
||||
format(fmtstr, y[i]), " ",
|
||||
format(fmtstr, z[i]));
|
||||
}
|
||||
var fmtstr = if debug then "%1.9re %1.9er %1.9er\n"
|
||||
else "%1.4er %1.4er %1.4er\n";
|
||||
for i in Nodes do
|
||||
writer.writef(fmtstr, x[i], y[i], z[i]);
|
||||
writer.close();
|
||||
outfile.close();
|
||||
}
|
||||
@@ -479,7 +477,7 @@ inline proc localizeNeighborNodes(eli: index(Elems),
|
||||
y: [] real, ref y_local: 8*real,
|
||||
z: [] real, ref z_local: 8*real) {
|
||||
|
||||
for param i in 1..nodesPerElem {
|
||||
for i in 1..nodesPerElem {
|
||||
const noi = elemToNode[eli][i];
|
||||
|
||||
x_local[i] = x[noi];
|
||||
@@ -670,7 +668,7 @@ proc SumElemStressesToNodeForces(b_x: 8*real, b_y: 8*real, b_z: 8*real,
|
||||
ref fx: 8*real,
|
||||
ref fy: 8*real,
|
||||
ref fz: 8*real) {
|
||||
for param i in 1..8 {
|
||||
for i in 1..8 {
|
||||
fx[i] = -(stress_xx * b_x[i]);
|
||||
fy[i] = -(stress_yy * b_y[i]);
|
||||
fz[i] = -(stress_zz * b_z[i]);
|
||||
@@ -725,17 +723,17 @@ inline proc CalcElemFBHourglassForce(xd: 8*real, yd: 8*real, zd: 8*real,
|
||||
var hx, hy, hz: 4*real;
|
||||
|
||||
// reduction
|
||||
for param i in 1..4 {
|
||||
for param j in 1..8 {
|
||||
for i in 1..4 {
|
||||
for j in 1..8 {
|
||||
hx[i] += hourgam[j][i] * xd[j];
|
||||
hy[i] += hourgam[j][i] * yd[j];
|
||||
hz[i] += hourgam[j][i] * zd[j];
|
||||
}
|
||||
}
|
||||
|
||||
for param i in 1..8 {
|
||||
for i in 1..8 {
|
||||
var shx, shy, shz: real;
|
||||
for param j in 1..4 {
|
||||
for j in 1..4 {
|
||||
shx += hourgam[i][j] * hx[j];
|
||||
shy += hourgam[i][j] * hy[j];
|
||||
shz += hourgam[i][j] * hz[j];
|
||||
@@ -1088,16 +1086,16 @@ proc CalcFBHourglassForceForElems(determ, x8n, y8n, z8n, dvdx, dvdy, dvdz) {
|
||||
|
||||
/* TODO: Can we enable this local block? */
|
||||
// local {
|
||||
for param i in 1..4 {
|
||||
for i in 1..4 {
|
||||
var hourmodx, hourmody, hourmodz: real;
|
||||
// reduction
|
||||
for param j in 1..8 {
|
||||
for j in 1..8 {
|
||||
hourmodx += x8n[eli][j] * gammaCoef[i][j];
|
||||
hourmody += y8n[eli][j] * gammaCoef[i][j];
|
||||
hourmodz += z8n[eli][j] * gammaCoef[i][j];
|
||||
}
|
||||
|
||||
for param j in 1..8 {
|
||||
for j in 1..8 {
|
||||
hourgam[j][i] = gammaCoef[i][j] - volinv *
|
||||
(dvdx[eli][j] * hourmodx +
|
||||
dvdy[eli][j] * hourmody +
|
||||
@@ -1221,7 +1219,7 @@ proc CalcKinematicsForElems(dxx, dyy, dzz, const dt: real) {
|
||||
arealg[k] = CalcElemCharacteristicLength(x_local, y_local, z_local,
|
||||
volume);
|
||||
|
||||
for param i in 1..8 {
|
||||
for i in 1..8 {
|
||||
x_local[i] -= dt2 * xd_local[i];
|
||||
y_local[i] -= dt2 * yd_local[i];
|
||||
z_local[i] -= dt2 * zd_local[i];
|
||||
@@ -1669,7 +1667,7 @@ proc CalcSoundSpeedForElems(vnewc, rho0:real, enewc, pnewc, pbvc, bvc) {
|
||||
|
||||
|
||||
iter elemToNodes(elem) {
|
||||
for param i in 1..nodesPerElem do
|
||||
for i in 1..nodesPerElem do
|
||||
yield elemToNode[elem][i];
|
||||
}
|
||||
|
||||
@@ -1679,14 +1677,19 @@ iter elemToNodesTuple(e) {
|
||||
}
|
||||
|
||||
|
||||
proc deprint(title:string, x:[?D] real, y:[D]real, z:[D]real) {
|
||||
proc deprint(title:string, x:[?D] real, y:[D] real, z:[D] real) {
|
||||
writeln(title);
|
||||
for i in D {
|
||||
writeln(format("%3d", i), ": ",
|
||||
format("%3.4e", x[i]), " ",
|
||||
format("%3.4e", y[i]), " ",
|
||||
format("%3.4e", z[i]));
|
||||
}
|
||||
for i in D do
|
||||
writef("%3i: %3.4er %3.4er %3.4er\n",
|
||||
if use3DRepresentation then idx3DTo1D(i, D.dim(1).size) else i,
|
||||
x[i], y[i], z[i]);
|
||||
}
|
||||
|
||||
|
||||
proc deprintatomic(title:string, x:[?D] atomic real, y:[] atomic real, z:[] atomic real) {
|
||||
writeln(title);
|
||||
for i in D do
|
||||
writef("%3i: %3.4er %3.4er %3.4er\n",
|
||||
if use3DRepresentation then idx3DTo1D(i, D.dim(1).size) else i,
|
||||
x[i].peek(), y[i].peek(), z[i].peek());
|
||||
}
|
||||
|
||||
6
samples/Charity/example.ch
Normal file
6
samples/Charity/example.ch
Normal file
@@ -0,0 +1,6 @@
|
||||
%
|
||||
% Some very badly written Charity
|
||||
%
|
||||
|
||||
data LA(A) -> D = ss: A -> D
|
||||
| ff: -> D.
|
||||
172
samples/Clarion/CStringClass.clw
Normal file
172
samples/Clarion/CStringClass.clw
Normal file
@@ -0,0 +1,172 @@
|
||||
Member()
|
||||
omit('***$***',_VER_C55)
|
||||
_ABCDllMode_ EQUATE(0)
|
||||
_ABCLinkMode_ EQUATE(1)
|
||||
***$***
|
||||
Include('Equates.CLW'),ONCE
|
||||
Include('Keycodes.CLW'),ONCE
|
||||
Include('Errors.CLW'),ONCE
|
||||
Map
|
||||
End ! map
|
||||
Include('CStringClass.inc'),ONCE
|
||||
CStringClass.Construct PROCEDURE ! Declare Procedure
|
||||
CODE
|
||||
SELF.bufferSize = DEFAULT_CS_BUFFER_SIZE
|
||||
SELF.CS &= New(CSTRING(SELF.bufferSize))
|
||||
CStringClass.Destruct PROCEDURE ! Declare Procedure
|
||||
CODE
|
||||
Dispose(SELF.cs)
|
||||
CStringClass.Cat PROCEDURE (STRING pStr) !,*CSTRING,PROC ! Declare Procedure
|
||||
newLen LONG,AUTO
|
||||
oldCS &CSTRING
|
||||
CODE
|
||||
newLen = Len(pStr)
|
||||
IF (newLen+SELF.strLength+2) > SELF.newStrSize
|
||||
! Only grow the internal string if the result of the cat will be larger than the string currently is.
|
||||
! The reason for the "+2" is because this is used in the string slicing outside this IF. Without this matching +2 there is potential for an out of bounds slice which would be bad!
|
||||
|
||||
! Save a temporary copy of the old string so we can us it in the concatination after we have grown it!
|
||||
oldCS &= New(CSTRING(SELF.strLength+1))
|
||||
oldCS = SELF.CS
|
||||
Dispose(SELF.CS)
|
||||
|
||||
SELF.newStrSize = newLen + SELF.strLength + 1 + SELF.bufferSize
|
||||
SELF.CS &= New(CSTRING(SELF.newStrSize))
|
||||
SELF.CS = oldCS
|
||||
Dispose(oldCS)
|
||||
END
|
||||
|
||||
! Append the new string directly to the end of the old one.
|
||||
SELF.CS[SELF.strLength+1 : SELF.strLength+newLen] = pStr
|
||||
! And terminate the CSTRING manually
|
||||
SELF.CS[SELF.strLength+newLen+1] = '<0>'
|
||||
|
||||
! This is the same as doing "SELF.strLength = Len(SELF.CS)" but the Len() is _really_ slow on large strings. This is much faster!
|
||||
SELF.strLength += newLen
|
||||
|
||||
! This is what it used to be:
|
||||
! SELF.Str(SELF.Str() & s)
|
||||
! It is a nice and neat solution but performance, especially on large strings was terrible!
|
||||
|
||||
RETURN SELF.Str()
|
||||
CStringClass.Str PROCEDURE (STRING pStr) !,*CSTRING, PROC ! Declare Procedure
|
||||
CODE
|
||||
IF Len(pStr) > SELF.newStrSize
|
||||
! Only Dispose/New the internal string if the new one requires it.
|
||||
! This might be slightly innefficient in terms of memory usage when the string gets smaller
|
||||
! But it is _vasty_ better for performance when the string gets added to a lot.
|
||||
Dispose(SELF.CS)
|
||||
SELF.newStrSize = Len(pStr) + 1 + SELF.bufferSize
|
||||
SELF.CS &= New(CSTRING(SELF.newStrSize))
|
||||
END
|
||||
|
||||
SELF.CS = pStr
|
||||
SELF.strLength = Len(SELF.CS)
|
||||
|
||||
RETURN SELF.CS
|
||||
CStringClass.Len PROCEDURE !,LONG ! Declare Procedure
|
||||
CODE
|
||||
RETURN SELF.strLength
|
||||
CStringClass.Replace PROCEDURE (STRING pFind, STRING pReplace) !,*CSTRING,PROC ! Declare Procedure
|
||||
! FindString , ReplaceWith
|
||||
locate LONG,AUTO
|
||||
lastLocate LONG
|
||||
CODE
|
||||
LOOP
|
||||
locate = InString(Upper(pFind), Upper(SELF.Str()), 1, lastLocate+1)
|
||||
IF ~locate
|
||||
BREAK
|
||||
END
|
||||
|
||||
! So we dont end up having recursive replacement.
|
||||
lastLocate = locate + Len(pReplace)-1
|
||||
|
||||
SELF.Str(Sub(SELF.Str(), 1, locate-1) & |
|
||||
pReplace & |
|
||||
Sub(SELF.Str(), locate+Len(pFind), SELF.Len()) |
|
||||
)
|
||||
END
|
||||
|
||||
RETURN SELF.Str()
|
||||
CStringClass.Str PROCEDURE () !,*CSTRING ! Declare Procedure 3
|
||||
CODE
|
||||
RETURN SELF.CS
|
||||
!------------------------------------------------------------------------------
|
||||
CStringClass.Contains PROCEDURE (STRING pFind, BYTE pCaseSensitive=TRUE) !,BYTE ! Declare Procedure
|
||||
! Returns a value (TRUE) indicating whether the specified String occurs within this string.
|
||||
! Second parameter defaults to a case sensitive search.
|
||||
CODE
|
||||
IF pCaseSensitive = TRUE
|
||||
IF InString(pFind, SELF.Str(), 1 , 1) > 0
|
||||
RETURN TRUE
|
||||
END
|
||||
ELSE
|
||||
IF InString(Lower(pFind), SELF.Lower(), 1 , 1) > 0
|
||||
RETURN TRUE
|
||||
END
|
||||
END
|
||||
|
||||
RETURN FALSE
|
||||
CStringClass.Lower PROCEDURE () !,STRING ! Declare Procedure
|
||||
! Returns a "Lowered" version of the self.cs doesnt change the self.cs
|
||||
CODE
|
||||
RETURN Lower(SELF.CS)
|
||||
CStringClass.SubString PROCEDURE (LONG pPosition, LONG pLength) !,STRING,PROC ! Declare Procedure
|
||||
CODE
|
||||
RETURN Sub(SELF.Str(), pPosition, pLength)
|
||||
CStringClass.ToLower PROCEDURE () !,*CSTRING,PROC ! Declare Procedure
|
||||
! Converts this string to lowercase and returns the converted string
|
||||
|
||||
CODE
|
||||
RETURN SELF.Str(SELF.Lower())
|
||||
CStringClass.ToUpper PROCEDURE () !,*CSTRING,PROC ! Declare Procedure
|
||||
! Converts this string to uppercase and returns the converted string
|
||||
|
||||
CODE
|
||||
RETURN SELF.Str(SELF.Upper())
|
||||
CStringClass.Trim PROCEDURE () !,*CSTRING,PROC ! Declare Procedure
|
||||
CODE
|
||||
SELF.Str(Left(SELF.Str()))
|
||||
SELF.Str(Clip(SELF.Str()))
|
||||
RETURN SELF.Str()
|
||||
CStringClass.Upper PROCEDURE () !,STRING ! Declare Procedure
|
||||
CODE
|
||||
RETURN Upper(SELF.Str())
|
||||
CStringClass.IndexOf PROCEDURE (STRING pLookIn, BYTE pCaseSensitive=TRUE) !,LONG ! Declare Procedure
|
||||
! Returns the index of the first parameter (pLookIn) is found within the SELF.CS
|
||||
! zero if it is not found
|
||||
CODE
|
||||
IF pCaseSensitive = TRUE
|
||||
RETURN InString(SELF.Str(), pLookIn, 1 , 1)
|
||||
ELSE
|
||||
RETURN InString(SELF.Lower(), Lower(pLookIn), 1 , 1)
|
||||
END
|
||||
CStringClass.FoundIn PROCEDURE (STRING pLookIn, BYTE pCaseSensitive=TRUE) !,BYTE ! Declare Procedure
|
||||
! Returns TRUE if the first parameter (pLookIn) is found within the SELF.CS
|
||||
! FALSE if it is no
|
||||
CODE
|
||||
IF SELF.IndexOf(pLookIn, pCaseSensitive) > 0
|
||||
RETURN TRUE
|
||||
ELSE
|
||||
RETURN FALSE
|
||||
END
|
||||
CStringClass.SetBuffer PROCEDURE (LONG pNewBuffer) ! Declare Procedure
|
||||
CODE
|
||||
SELF.bufferSize = pNewBuffer
|
||||
CStringClass.EscapeXml PROCEDURE (<STRING pStr>) !,STRING ! Declare Procedure
|
||||
CS CStringClass
|
||||
CODE
|
||||
IF Omitted(pStr)=FALSE
|
||||
CS.Str(pStr)
|
||||
ELSE
|
||||
! Make a copy so we don't alter the original
|
||||
CS.Str(SELF.Str())
|
||||
END
|
||||
CS.Replace('&', '&')
|
||||
CS.Replace('<', '<')
|
||||
CS.Replace('>', '>')
|
||||
CS.Replace('"', '"')
|
||||
CS.Replace('''', ''')
|
||||
|
||||
RETURN CS.Str()
|
||||
|
||||
68
samples/Clarion/ConsoleSupport.clw
Normal file
68
samples/Clarion/ConsoleSupport.clw
Normal file
@@ -0,0 +1,68 @@
|
||||
Member()
|
||||
Include('ConsoleSupport.inc'),ONCE
|
||||
Map
|
||||
MODULE('32-bit Windows API')
|
||||
! General functions
|
||||
GetLastError(),DWORD,PASCAL
|
||||
|
||||
! Console functions
|
||||
GetStdHandle(DWORD),HANDLE,PASCAL,PROC,RAW
|
||||
WriteConsole(Handle,Long,Dword,long,long),bool,Raw,Pascal,name('WriteConsoleA')
|
||||
ReadConsole(Handle,Long,Dword,long,long),bool,Raw,Pascal,name('ReadConsoleA')
|
||||
SetConsoleTitle(Long),Bool,Raw,Pascal,name('SetConsoleTitleA')
|
||||
GetConsoleTitle(Long,dword),Bool,Raw,Pascal,name('GetConsoleTitleA')
|
||||
SetConsoleMode(Handle,dWord),BOOL,RAW,PASCAL
|
||||
GetConsoleMode(Handle,Long),BOOL,RAW,PASCAL
|
||||
End
|
||||
End
|
||||
|
||||
ConsoleSupport.Construct PROCEDURE
|
||||
|
||||
CODE
|
||||
|
||||
ConsoleSupport.Destruct PROCEDURE
|
||||
|
||||
CODE
|
||||
|
||||
ConsoleSupport.Init PROCEDURE () !,BYTE,VIRTUAL
|
||||
CODE
|
||||
|
||||
SELF.OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE)
|
||||
If SELF.OutputHandle = INVALID_HANDLE_VALUE
|
||||
Halt(1,'Unable to get output handle (' & GetLastError() & ')')
|
||||
RETURN INVALID_HANDLE_VALUE
|
||||
End
|
||||
|
||||
SELF.InputHandle = GetStdHandle(STD_INPUT_HANDLE)
|
||||
if SELF.InputHandle = INVALID_HANDLE_VALUE
|
||||
Halt(2,'Unable to get console input handle (' & GetLastError() & ')')
|
||||
RETURN INVALID_HANDLE_VALUE
|
||||
End
|
||||
|
||||
If ~SetConsoleMode(SELF.InputHandle,ENABLE_PROCESSED_INPUT )
|
||||
Halt(3,'Unable to set console mode (' & GetLastError() & ')')
|
||||
RETURN INVALID_OTHER
|
||||
End
|
||||
|
||||
RETURN FALSE
|
||||
|
||||
ConsoleSupport.WriteLine PROCEDURE (STRING pText) !,BYTE,PROC,VIRTUAL
|
||||
CODE
|
||||
SELF.TextBuffer = SELF.Prefix & pText & '<13,10>'
|
||||
If WriteConsole(SELF.OutputHandle, ADDRESS(SELF.TextBuffer), LEN(SELF.TextBuffer),ADDRESS(SELF.BytesWritten), NULL) = 0
|
||||
Halt(4,'WriteConsoleError (' & GetLastError() & ')')
|
||||
RETURN -1
|
||||
End
|
||||
RETURN FALSE
|
||||
|
||||
Consolesupport.ReadKey PROCEDURE () !,STRING,PROC,VIRTUAL
|
||||
CODE
|
||||
SELF.WriteLine('Press any key to continue...')
|
||||
Clear(SELF.InBuffer)
|
||||
Loop
|
||||
IF ReadConsole(SELF.InputHandle,Address(SELF.InBuffer),100,Address(SELF.BytesRead),NULL) = 0 THEN
|
||||
Halt(5,'Error on read console (' & GetLastError() & ')')
|
||||
Break
|
||||
End
|
||||
Until SELF.BytesRead > 0
|
||||
RETURN SELF.InBuffer
|
||||
10
samples/Clarion/HelloWorld.clw
Normal file
10
samples/Clarion/HelloWorld.clw
Normal file
@@ -0,0 +1,10 @@
|
||||
PROGRAM
|
||||
|
||||
MAP
|
||||
END
|
||||
|
||||
CODE
|
||||
|
||||
MESSAGE('Hello World!')
|
||||
|
||||
RETURN
|
||||
12
samples/Clarion/hello.clw
Normal file
12
samples/Clarion/hello.clw
Normal file
@@ -0,0 +1,12 @@
|
||||
MEMBER()
|
||||
INCLUDE('HelloClass.inc'),ONCE
|
||||
MAP
|
||||
END
|
||||
|
||||
HelloClass.Construct PROCEDURE
|
||||
CODE
|
||||
HelloClass.Destruct PROCEDURE() !,VIRTUAL
|
||||
CODE
|
||||
HelloClass.SayHello PROCEDURE
|
||||
CODE
|
||||
MESSAGE('Hello World!')
|
||||
164
samples/Common Lisp/array.l
Normal file
164
samples/Common Lisp/array.l
Normal file
@@ -0,0 +1,164 @@
|
||||
;;; -*- Mode: Lisp; Package: LISP -*-
|
||||
;;;
|
||||
;;; This file is part of xyzzy.
|
||||
;;;
|
||||
|
||||
(provide "array")
|
||||
|
||||
(in-package "lisp")
|
||||
|
||||
(export '(make-vector make-array vector array-dimensions array-in-bounds-p
|
||||
upgraded-array-element-type adjust-array))
|
||||
|
||||
(defun upgraded-array-element-type (type)
|
||||
(cond ((or (eq type 't)
|
||||
(null type))
|
||||
't)
|
||||
((member type '(character base-character standard-char
|
||||
extended-character) :test #'eq)
|
||||
'character)
|
||||
(t
|
||||
(setq type (car (si:canonicalize-type type)))
|
||||
(cond ((or (eq type 't)
|
||||
(null type))
|
||||
't)
|
||||
((member type '(character base-character standard-char
|
||||
extended-character) :test #'eq)
|
||||
'character)
|
||||
(t 't)))))
|
||||
|
||||
(defun check-array-initialize-option (ies-p ics-p displaced-to)
|
||||
(let ((x 0))
|
||||
(and ies-p (incf x))
|
||||
(and ics-p (incf x))
|
||||
(and displaced-to (incf x))
|
||||
(when (> x 1)
|
||||
(error ":initial-element, :initial-contents, :displaced-to"))))
|
||||
|
||||
(defun make-vector (length &key
|
||||
(element-type t)
|
||||
(initial-element nil ies-p)
|
||||
(initial-contents nil ics-p)
|
||||
fill-pointer
|
||||
adjustable
|
||||
displaced-to
|
||||
(displaced-index-offset 0))
|
||||
(setq element-type (upgraded-array-element-type element-type))
|
||||
(check-array-initialize-option ies-p ics-p displaced-to)
|
||||
(let ((vector (si:*make-vector length element-type initial-element adjustable
|
||||
fill-pointer displaced-to displaced-index-offset)))
|
||||
(when ics-p
|
||||
(si:*copy-into-seq vector initial-contents))
|
||||
vector))
|
||||
|
||||
(defun make-array (dimensions &rest rest
|
||||
&key
|
||||
(element-type t)
|
||||
(initial-element nil ies-p)
|
||||
(initial-contents nil ics-p)
|
||||
fill-pointer
|
||||
adjustable
|
||||
displaced-to
|
||||
(displaced-index-offset 0))
|
||||
(cond ((integerp dimensions)
|
||||
(apply #'make-vector dimensions rest))
|
||||
((= (length dimensions) 1)
|
||||
(apply #'make-vector (car dimensions) rest))
|
||||
(t
|
||||
(setq element-type (upgraded-array-element-type element-type))
|
||||
(check-array-initialize-option ies-p ics-p displaced-to)
|
||||
(when fill-pointer
|
||||
(error ":fill-pointer"))
|
||||
(let ((array (si:*make-array dimensions element-type
|
||||
initial-element adjustable
|
||||
displaced-to displaced-index-offset)))
|
||||
(when ics-p
|
||||
(let ((dims (make-list (array-rank array)
|
||||
:initial-element 0))
|
||||
(stack (list initial-contents))
|
||||
(rank (1- (array-rank array))))
|
||||
(dolist (x dims)
|
||||
(push (elt (car stack) 0) stack))
|
||||
(dotimes (i (array-total-size array))
|
||||
(setf (row-major-aref array i) (car stack))
|
||||
(do ((x dims (cdr x))
|
||||
(j rank (1- j)))
|
||||
((null x))
|
||||
(pop stack)
|
||||
(incf (car x))
|
||||
(when (< (car x) (array-dimension array j))
|
||||
(do ((r (- rank j) (1- r)))
|
||||
((< r 0))
|
||||
(push (elt (car stack) (nth r dims)) stack))
|
||||
(return))
|
||||
(setf (car x) 0)))))
|
||||
array))))
|
||||
|
||||
(defun vector (&rest list)
|
||||
(make-vector (length list) :element-type t :initial-contents list))
|
||||
|
||||
(defun array-dimensions (array)
|
||||
(do ((i (1- (array-rank array)) (1- i))
|
||||
(dims '()))
|
||||
((minusp i) dims)
|
||||
(push (array-dimension array i) dims)))
|
||||
|
||||
(defun array-in-bounds-p (array &rest subscripts)
|
||||
(let ((r (array-rank array)))
|
||||
(when (/= r (length subscripts))
|
||||
(error "subscripts: ~S" subscripts))
|
||||
(do ((i 0 (1+ i))
|
||||
(s subscripts (cdr s)))
|
||||
((= i r) t)
|
||||
(unless (<= 0 (car s) (1- (array-dimension array i)))
|
||||
(return nil)))))
|
||||
|
||||
(defun adjust-array (old-array
|
||||
dimensions
|
||||
&rest rest
|
||||
&key
|
||||
(element-type nil ets-p)
|
||||
initial-element
|
||||
(initial-contents nil ics-p)
|
||||
(fill-pointer nil fps-p)
|
||||
displaced-to
|
||||
displaced-index-offset)
|
||||
(when (/= (length dimensions) (array-rank old-array))
|
||||
(error "?"))
|
||||
(unless ets-p
|
||||
(push (array-element-type old-array) rest)
|
||||
(push :element-type rest))
|
||||
(when (adjustable-array-p old-array)
|
||||
(push t rest)
|
||||
(push :adjustable rest))
|
||||
(cond (fps-p
|
||||
(unless (array-has-fill-pointer-p old-array)
|
||||
(error "?")))
|
||||
(t
|
||||
(when (array-has-fill-pointer-p old-array)
|
||||
(push (fill-pointer old-array) rest)
|
||||
(push :fill-pointer rest))))
|
||||
(when (eq old-array displaced-to)
|
||||
(error "?"))
|
||||
(let ((new-array (apply #'make-array dimensions rest)))
|
||||
(or ics-p displaced-to
|
||||
(copy-array-partially old-array new-array))
|
||||
(cond ((adjustable-array-p old-array)
|
||||
(si:*replace-array old-array new-array)
|
||||
old-array)
|
||||
(t
|
||||
new-array))))
|
||||
|
||||
(defun copy-array-partially (src dst)
|
||||
(let* ((dims (mapcar #'min (array-dimensions src) (array-dimensions dst)))
|
||||
(r (array-rank src))
|
||||
(s (make-list r :initial-element 0)))
|
||||
(setq r (1- r))
|
||||
(dotimes (x (apply #'* dims))
|
||||
(setf (apply #'aref dst s) (apply #'aref src s))
|
||||
(do ((i r (1- i)))
|
||||
((minusp i))
|
||||
(incf (nth i s))
|
||||
(when (< (nth i s) (nth i dims))
|
||||
(return))
|
||||
(setf (nth i s) 0)))))
|
||||
1201
samples/Common Lisp/common.l
Normal file
1201
samples/Common Lisp/common.l
Normal file
File diff suppressed because it is too large
Load Diff
2
samples/Common Lisp/config.sexp
Normal file
2
samples/Common Lisp/config.sexp
Normal file
@@ -0,0 +1,2 @@
|
||||
((exe_name hello)
|
||||
(link_order (world hello)))
|
||||
2
samples/Common Lisp/hello.lisp
Normal file
2
samples/Common Lisp/hello.lisp
Normal file
@@ -0,0 +1,2 @@
|
||||
(DEFUN HELLO ()
|
||||
(PRINT 'HELLO))
|
||||
103
samples/Common Lisp/rss.sexp
Normal file
103
samples/Common Lisp/rss.sexp
Normal file
@@ -0,0 +1,103 @@
|
||||
|
||||
(:TURTLE
|
||||
|
||||
(:@PREFIX "rdf:" "<http://www.w3.org/1999/02/22-rdf-syntax-ns#>")
|
||||
(:@PREFIX "owl:" "<http://www.w3.org/2002/07/owl#>")
|
||||
(:@PREFIX "dc:" "<http://purl.org/dc/elements/1.1/>")
|
||||
(:@PREFIX "xsd:" "<http://www.w3.org/2001/XMLSchema#>")
|
||||
(:@PREFIX "rdfs:" "<http://www.w3.org/2000/01/rdf-schema#>")
|
||||
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/channel>")
|
||||
|
||||
(:PREDICATE-OBJECT-LIST
|
||||
(:URIREF #1="<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>")
|
||||
(:OBJECTS
|
||||
(:QNAME "rdfs:Class")))
|
||||
|
||||
(:PREDICATE-OBJECT-LIST
|
||||
(:QNAME "rdfs:comment")
|
||||
(:OBJECTS
|
||||
(:STRING "An RSS information channel.")))
|
||||
|
||||
(:PREDICATE-OBJECT-LIST
|
||||
(:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS
|
||||
(:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
|
||||
(:PREDICATE-OBJECT-LIST
|
||||
(:QNAME "rdfs:label")
|
||||
(:OBJECTS
|
||||
(:STRING "Channel"))))
|
||||
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/description>")
|
||||
|
||||
(:PREDICATE-OBJECT-LIST
|
||||
(:URIREF #1#)
|
||||
(:OBJECTS
|
||||
(:QNAME "rdf:Property")))
|
||||
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment")
|
||||
(:OBJECTS (:STRING "A short text description of the subject.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Description")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:subPropertyOf") (:OBJECTS (:QNAME "dc:description"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/image>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdfs:Class")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment") (:OBJECTS (:STRING "An RSS image.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Image"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/item>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdfs:Class")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment") (:OBJECTS (:STRING "An RSS item.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Item"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/items>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdf:Property")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment")
|
||||
(:OBJECTS
|
||||
(:STRING "Points to a list of rss:item elements that are members of the subject channel.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Items"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/link>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdf:Property")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment")
|
||||
(:OBJECTS (:STRING "The URL to which an HTML rendering of the subject will link.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Link")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:subPropertyOf") (:OBJECTS (:QNAME "dc:identifier"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/name>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdf:Property")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment")
|
||||
(:OBJECTS (:STRING "The text input field's (variable) name.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Name"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/textinput>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdfs:Class")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment") (:OBJECTS (:STRING "An RSS text input.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Text Input"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/title>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdf:Property")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment")
|
||||
(:OBJECTS (:STRING "A descriptive title for the channel.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "Title")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:subPropertyOf") (:OBJECTS (:QNAME "dc:title"))))
|
||||
(:TRIPLES (:URIREF "<http://purl.org/rss/1.0/url>")
|
||||
(:PREDICATE-OBJECT-LIST (:URIREF #1#) (:OBJECTS (:QNAME "rdf:Property")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:comment")
|
||||
(:OBJECTS
|
||||
(:STRING
|
||||
"The URL of the image to used in the 'src' attribute of the channel's image tag when rendered as HTML.")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:isDefinedBy")
|
||||
(:OBJECTS (:URIREF "<http://purl.org/rss/1.0/>")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:label") (:OBJECTS (:STRING "URL")))
|
||||
(:PREDICATE-OBJECT-LIST (:QNAME "rdfs:subPropertyOf") (:OBJECTS (:QNAME "dc:identifier")))))
|
||||
443
samples/DIGITAL Command Language/fis_gtm_kitinstal.com
Normal file
443
samples/DIGITAL Command Language/fis_gtm_kitinstal.com
Normal file
@@ -0,0 +1,443 @@
|
||||
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
$! !
|
||||
$! Copyright 2001, 2011 Fidelity Information Services, Inc !
|
||||
$! !
|
||||
$! This source code contains the intellectual property !
|
||||
$! of its copyright holder(s), and is made available !
|
||||
$! under a license. If you do not know the terms of !
|
||||
$! the license, please stop and do not read further. !
|
||||
$! !
|
||||
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
$!
|
||||
$!
|
||||
$! KITINSTAL.COM PROCEDURE FOR THE GT.M PRODUCT
|
||||
$!
|
||||
$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y
|
||||
$! ON WARNING THEN EXIT $STATUS !! allow warning errors for INSTALL REPLACE
|
||||
$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO INSTALL
|
||||
$ IF P1 .EQS. "VMI$_POSTINSTALL" THEN GOTO POSTINSTALL
|
||||
$ IF P1 .EQS. "VMI$_IVP" THEN GOTO IVP
|
||||
$ EXIT VMI$_UNSUPPORTED
|
||||
$!
|
||||
$INSTALL:
|
||||
$ TYPE SYS$INPUT
|
||||
|
||||
GT.M (c) COPYRIGHT 1985 - 2000 by Sanchez Computer Associates
|
||||
ALL RIGHTS RESERVED
|
||||
|
||||
$! the following 2 lines must be maintained
|
||||
$ GTM$VMS_VERSION :== 072 ! Minimum VMS version required
|
||||
$ ALPHA = (f$getsyi("arch_name") .eqs. "Alpha")
|
||||
$ IF ALPHA
|
||||
$ THEN
|
||||
$ GTM$DISK_SPACE == 28000 ! Minumum disk space on system disk required
|
||||
$ ELSE
|
||||
$ GTM$DISK_SPACE == 16000 ! Minumum disk space on system disk required
|
||||
$ ENDIF
|
||||
$ IF F$ELEMENT(0,",",VMI$VMS_VERSION) .EQS. "RELEASED"
|
||||
$ THEN
|
||||
$ GTM$VMS_IS == F$ELEMENT(1,",",VMI$VMS_VERSION)
|
||||
$ IF GTM$VMS_IS .LTS. GTM$VMS_VERSION
|
||||
$ THEN
|
||||
$ VMI$CALLBACK MESSAGE E VMSMISMATCH "This GT.M kit requires an existing VMS''GTM$VMS_VERSION' system."
|
||||
$ EXIT VMI$_FAILURE
|
||||
$ ENDIF
|
||||
$ ELSE
|
||||
$ GTM$VMS_IS :==
|
||||
$ WRITE SYS$OUTPUT " No VMS version checking performed for field test versions."
|
||||
$ ENDIF
|
||||
$ IF (GTM$VMS_IS .GES. "052") THEN T1 = F$VERIFY(VMI$KIT_DEBUG)
|
||||
$ VMI$CALLBACK CHECK_NET_UTILIZATION GTM$ROOM 'GTM$DISK_SPACE'
|
||||
$ IF .NOT. GTM$ROOM
|
||||
$ THEN
|
||||
$ VMI$CALLBACK MESSAGE E NOSPACE "There is not enough disk space -- GT.M needs ''GTM$DISK_SPACE' blocks."
|
||||
$ EXIT VMI$_FAILURE
|
||||
$ ENDIF
|
||||
$! setup default answers
|
||||
$ GTM$DOPURGE :== YES
|
||||
$ GTM$RUN_IVP :== YES
|
||||
$ GTM$STD_CNF :== YES
|
||||
$ GTM$DST_OWN :== SYSTEM
|
||||
$ IF F$IDENTIFIER(GTM$DST_OWN,"NAME_TO_NUMBER") .EQ. 0 THEN GTM$DST_OWN :== 1,4
|
||||
$ GTM$SYS_DST :== YES
|
||||
$ GTM$DST_DIR :== GTM_DIST
|
||||
$ GTM$DST_CRE == GTM$DST_DIR
|
||||
$ GTM$DST_DEV :==
|
||||
$ GTM$STARTDB :== YES
|
||||
$ GTM$MGR_COM :== YES
|
||||
$ GTM$HLP_DIR :== NO
|
||||
$ GTM$DEF_DCL :== YES
|
||||
$ GTM$DEF_SYS :== YES
|
||||
$ GTM$LNK_LOG :== YES
|
||||
$ GTM$INSTALL :== YES
|
||||
$ GTM$DEF_GLD :== YES
|
||||
$ GTM$GBL_DIR :== MUMPS.GLD
|
||||
$ GTM$DEF_RTN :== YES
|
||||
$ GTM$RTN_DIR :== [],GTM$DIST:
|
||||
$ GTM$PCT_RTN :== YES
|
||||
$ VMI$CALLBACK ASK GTM$DOPURGE "Do you want to purge files replaced by this installation" 'GTM$DOPURGE' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_PURGE"
|
||||
$ IF .NOT. GTM$DOPURGE THEN VMI$CALLBACK SET PURGE NO
|
||||
$ VMI$CALLBACK ASK GTM$STD_CNF "Do you want the standard GT.M configuration (performs INSTALL)" 'GTM$STD_CNF' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_STD_CNF"
|
||||
$ IF GTM$STD_CNF
|
||||
$ THEN
|
||||
$ GTM$SYS_DST == 1
|
||||
$ GTM$STARTDB == 1
|
||||
$ GTM$MGR_COM == 1
|
||||
$ GTM$HLP_DIR == 0
|
||||
$ GTM$DEF_DCL == 1
|
||||
$ GTM$DEF_SYS == 1
|
||||
$ GTM$INSTALL == 1
|
||||
$ GTM$LNK_LOG == 1
|
||||
$ GTM$INSTALL == 1
|
||||
$ GTM$DEF_GLD == 1
|
||||
$ GTM$DEF_RTN == 1
|
||||
$ GTM$PCT_RTN == 1
|
||||
$ GTM$DST_LOG :== SYS$COMMON:['GTM$DST_DIR']
|
||||
$ GTM$DIR_TYPE :== COMMON
|
||||
$ ELSE ! Not standard configuration
|
||||
$ VMI$CALLBACK ASK GTM$DST_OWN "What UIC should own the GT.M distribution" 'GTM$DST_OWN' S "@VMI$KWD:GTMKITHLP HELP_DST_OWN"
|
||||
$ GTM$DST_OWN == GTM$DST_OWN - "[" - "]"
|
||||
$ VMI$CALLBACK ASK GTM$SYS_DST "Do you want the GT.M distribution to go into a System Directory" 'GTM$SYS_DST' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_SYS_DST"
|
||||
$ IF GTM$SYS_DST
|
||||
$ THEN
|
||||
$ VMI$CALLBACK ASK GTM$DST_DIR "In what System Directory do you want to place GT.M" 'GTM$DST_DIR' S -
|
||||
"@VMI$KWD:GTMKITHLP HELP_SYS_DIR"
|
||||
$ GTM$DST_DIR == GTM$DST_DIR - "[" - "]"
|
||||
$ GTM$DST_CRE == GTM$DST_DIR
|
||||
$ GTM$DST_LOG :== SYS$COMMON:['GTM$DST_DIR']
|
||||
$ GTM$DIR_TYPE :== COMMON
|
||||
$ ELSE ! Not system disk
|
||||
$ VMI$CALLBACK ASK GTM$DST_DEV "On which device do you want to place GT.M" "''GTM$DST_DEV'" S "@VMI$KWD:GTMKITHLP HELP_DST_DEV"
|
||||
$ VMI$CALLBACK ASK GTM$DST_DIR "In what directory on that device do you want to place GT.M" 'GTM$DST_DIR' S -
|
||||
"@VMI$KWD:GTMKITHLP HELP_DST_DIR"
|
||||
$ GTM$DST_DEV == GTM$DST_DEV - ":"
|
||||
$ GTM$DST_DIR == GTM$DST_DIR - "[" - "]"
|
||||
$ GTM$DST_LOG :== 'GTM$DST_DEV':['GTM$DST_DIR']
|
||||
$ GTM$DST_CRE == GTM$DST_LOG
|
||||
$ GTM$DIR_TYPE :== USER
|
||||
$ ENDIF ! system disk
|
||||
$ VMI$CALLBACK ASK GTM$STARTDB "Do you want GTMSTART.COM in the startup database" 'GTM$STARTDB' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_STARTDB"
|
||||
$ IF .NOT. GTM$STARTDB
|
||||
$ THEN
|
||||
$ VMI$CALLBACK ASK GTM$MGR_COM "Do you want the GT.M .COM files in SYS$MANAGER" 'GTM$MGR_COM' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_MGR_COM"
|
||||
$ ENDIF
|
||||
$ VMI$CALLBACK ASK GTM$HLP_DIR "Do you want the GT.M help files in SYS$HELP" 'GTM$HLP_DIR' B "@VMI$KWD:GTMKITHLP HELP_HLP_DIR"
|
||||
$ VMI$CALLBACK ASK GTM$DEF_DCL "Do you want to define GT.M commands to the system" 'GTM$DEF_DCL' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_DEF_DCL"
|
||||
$ VMI$CALLBACK ASK GTM$DEF_SYS "Do you want to define GT.M logical names in the System Table" 'GTM$DEF_SYS' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_DEF_SYS"
|
||||
$ VMI$CALLBACK ASK GTM$LNK_LOG "Do you want to define the LNK$LIBRARY logical names" 'GTM$LNK_LOG' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_LNK_LOG"
|
||||
$ VMI$CALLBACK ASK GTM$RUN_IVP "Do you want to run the IVP (performs INSTALL)" 'GTM$RUN_IVP' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_RUN_IVP"
|
||||
$ IF GTM$RUN_IVP
|
||||
$ THEN
|
||||
$ GTM$PCT_RTN == 1
|
||||
$ ELSE
|
||||
$ VMI$CALLBACK ASK GTM$PCT_RTN "Do you want to compile the GT.M percent routines (performs INSTALL)" 'GTM$PCT_RTN' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_PCT_RTN"
|
||||
$ ENDIF
|
||||
$ IF (GTM$RUN_IVP .OR. GTM$PCT_RTN)
|
||||
$ THEN
|
||||
$ GTM$INSTALL == 1
|
||||
$ ELSE
|
||||
$ VMI$CALLBACK ASK GTM$INSTALL "Do you want to INSTALL the GT.M shareable images now" 'GTM$INSTALL' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_INSTALL"
|
||||
$ ENDIF
|
||||
$ VMI$CALLBACK ASK GTM$DEF_RTN "Do you want to have a default definition for GTM$ROUTINES" 'GTM$DEF_RTN' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_DEF_RTN"
|
||||
$ IF GTM$DEF_RTN
|
||||
$ THEN
|
||||
$ VMI$CALLBACK ASK GTM$RTN_DIR "What is the search specification for GTM$ROUTINES" 'GTM$RTN_DIR' S -
|
||||
"@VMI$KWD:GTMKITHLP HELP_RTN_DIR"
|
||||
$ ENDIF
|
||||
$ VMI$CALLBACK ASK GTM$DEF_GLD "Do you want to have a default definition for GTM$GBLDIR" 'GTM$DEF_GLD' B -
|
||||
"@VMI$KWD:GTMKITHLP HELP_DEF_GLD"
|
||||
$ IF GTM$DEF_GLD
|
||||
$ THEN
|
||||
$ VMI$CALLBACK ASK GTM$GBL_DIR "What is the file specification for GTM$GBLDIR" 'GTM$GBL_DIR' S -
|
||||
"@VMI$KWD:GTMKITHLP HELP_GBL_DIR"
|
||||
$ ENDIF
|
||||
$ ENDIF ! standard configuration
|
||||
$! tell them what's happening
|
||||
$ IF GTM$MGR_COM
|
||||
$ THEN
|
||||
$ WRITE SYS$OUTPUT " The following command files are created and copied to SYS$MANAGER:"
|
||||
$ ELSE
|
||||
$ WRITE SYS$OUTPUT " The following command files are created:"
|
||||
$ ENDIF
|
||||
$ TYPE SYS$INPUT
|
||||
|
||||
GTMINSTALL.COM
|
||||
GTMLOGICALS.COM
|
||||
GTMLOGIN.COM
|
||||
GTMSTART.COM
|
||||
GTMSTOP.COM
|
||||
|
||||
Each file contains its own user documentation.
|
||||
|
||||
All the questions have been asked. Installation now proceeds without your
|
||||
manual intervention for about 10-15 minutes.
|
||||
$ IF GTM$RUN_IVP THEN WRITE SYS$OUTPUT " Finally the Installation Verification Procedure tests the installation."
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ VMI$CALLBACK CREATE_DIRECTORY 'GTM$DIR_TYPE' 'GTM$DST_CRE' "/OWNER_UIC=[''GTM$DST_OWN'] /PROTECTION=(WO:RE)"
|
||||
$ VMI$CALLBACK RESTORE_SAVESET B
|
||||
$ VMI$CALLBACK RESTORE_SAVESET C
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ VMI$CALLBACK MESSAGE I CRECOM "Creating command files."
|
||||
$! Create GTMINSTALL.COM
|
||||
$ OPEN /WRITE OUFILE VMI$KWD:GTMINSTALL.COM
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$! GTMINSTALL.COM installs GTMSECSHR and other GT.M images."
|
||||
$ WRITE OUFILE "$! GTMSECSHR is a small protected image and must be installed."
|
||||
$ WRITE OUFILE "$! GTMSHR is the run-time library and is installed for performance."
|
||||
$ WRITE OUFILE "$! GTM$DMOD and MCOMPILE are small images frequently used in development."
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$ INSTALL"
|
||||
$ WRITE OUFILE "REPLACE /OPEN/SHARED/HEADER/PROTECTED GTMSECSHR"
|
||||
$ WRITE OUFILE "REPLACE /OPEN/SHARED/HEADER GTMSHR"
|
||||
$ WRITE OUFILE "REPLACE /OPEN/SHARED/HEADER GTM$DMOD"
|
||||
$ WRITE OUFILE "REPLACE /OPEN/SHARED/HEADER MCOMPILE"
|
||||
$ WRITE OUFILE "$ EXIT"
|
||||
$ CLOSE OUFILE
|
||||
$! Create GTMLOGICALS.COM
|
||||
$ GTM$HLP_LOG :== GTM$DIST
|
||||
$ IF GTM$HLP_DIR THEN GTM$HLP_LOG :== SYS$HELP
|
||||
$ OPEN /WRITE OUFILE VMI$KWD:GTMLOGICALS.COM
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$! GTMLOGICALS.COM defines the logical names required to use GT.M."
|
||||
$ WRITE OUFILE "$! By default the definitions are placed in the PROCESS table."
|
||||
$ WRITE OUFILE "$! Parameter 1, if supplied should be the name of a logical name table"
|
||||
$ WRITE OUFILE "$! and/or the mode of definition."
|
||||
$ WRITE OUFILE "$! Assignments in a ""permanent"" table reduce GT.M activation time."
|
||||
$ WRITE OUFILE "$!"
|
||||
$ IF GTM$LNK_LOG THEN WRITE OUFILE "$! The LNK$LIBRARY names many require adjustment to your environment."
|
||||
$ IF GTM$DEF_GLD THEN WRITE OUFILE "$! GTM$GBLDIR is defined to provide default access to a global directory."
|
||||
$ IF GTM$DEF_RTN THEN WRITE OUFILE "$! GTM$ROUTINES is defined to provide access to the GT.M utilities."
|
||||
$ IF GTM$DEF_RTN THEN WRITE OUFILE "$! You may wish to define a different structure for $ZROUTINES."
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$ IF (P1 .NES. """") .AND. (F$EXTRACT(0,1,P1) .NES. ""/"") THEN P1 := /'P1"
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' GTM$DIST ''GTM$DST_LOG'"
|
||||
$ IF GTM$DEF_GLD THEN WRITE OUFILE "$ DEFINE 'P1' GTM$GBLDIR ''GTM$GBL_DIR'"
|
||||
$ IF GTM$DEF_RTN THEN WRITE OUFILE "$ DEFINE 'P1' GTM$ROUTINES ""''GTM$RTN_DIR'"""
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' GTM$HELP ''GTM$HLP_LOG'"
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' GTMSHR GTM$DIST:GTMSHR.EXE"
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' GTMSECSHR GTM$DIST:GTMSECSHR.EXE"
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' GTM$DMOD GTM$DIST:GTM$DMOD.EXE"
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' MCOMPILE GTM$DIST:MCOMPILE.EXE"
|
||||
$ IF GTM$LNK_LOG
|
||||
$ THEN
|
||||
$ N1 = 0
|
||||
$ DN = 0
|
||||
$ T1 = F$TRNLNM("LNK$LIBRARY")
|
||||
$ IF (T1 .EQS. "") .OR. (F$LOCATE("GTMLIB",T1) .NE. F$LENGTH(T1)) .OR. (F$LOCATE("GTMSHR",T1) .NE. F$LENGTH(T1))
|
||||
$ THEN
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' LNK$LIBRARY GTM$DIST:GTMLIB.OLB"
|
||||
$ DN = 1
|
||||
$ ELSE ! lnk$library is in use
|
||||
$LNK_LOOP:
|
||||
$ N1 = N1 + 1
|
||||
$ T1 = F$TRNLNM("LNK$LIBRARY_''N1'")
|
||||
$ IF (T1 .EQS. "") .OR. (F$LOCATE("GTMLIB",T1) .NE. F$LENGTH(T1)) .OR. (F$LOCATE("GTMSHR",T1) .NE. F$LENGTH(T1))
|
||||
$ THEN
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' LNK$LIBRARY_''N1' GTM$DIST:GTMLIB.OLB"
|
||||
$ DN = 1
|
||||
$ ENDIF
|
||||
$ IF (.NOT. DN) .AND. (N1 .LT. 998) THEN GOTO LNK_LOOP
|
||||
$ ENDIF ! gtmlib handling
|
||||
$ IF DN ! placed gtmlib
|
||||
$ THEN
|
||||
$ N1 = N1 + 1
|
||||
$ WRITE OUFILE "$ DEFINE 'P1' LNK$LIBRARY_''N1' GTM$DIST:GTMSHR.OLB"
|
||||
$ ELSE
|
||||
$ VMI$CALLBACK MESSAGE I NOLNKLOG "No LNK$LIBRARY logical names available"
|
||||
$ ENDIF
|
||||
$ ENDIF ! setting up LNK$LIBRARYs
|
||||
$ WRITE OUFILE "$ EXIT"
|
||||
$ CLOSE OUFILE
|
||||
$! Create GTMLOGIN.COM
|
||||
$ OPEN /WRITE OUFILE VMI$KWD:GTMLOGIN.COM
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$! GTMLOGIN.COM performs process specific setup for GT.M."
|
||||
$ WRITE OUFILE "$! It calls GTMLOGICALS.COM if the logical names are not"
|
||||
$ WRITE OUFILE "$! in the SYSTEM table."
|
||||
$ WRITE OUFILE "$! It defines symbols to access GT.M images."
|
||||
$ WRITE OUFILE "$! It defines GT.M commands locally if they are not defined to the system."
|
||||
$ WRITE OUFILE "$! When the command and logical names are not defined on a process level,"
|
||||
$ WRITE OUFILE "$! a production user may save start-up time by not using GTMLOGIN."
|
||||
$ WRITE OUFILE "$! CCE is infrequently used, but may be defined as a foreign command."
|
||||
$ WRITE OUFILE "$!"
|
||||
$ IF .NOT. GTM$DEF_SYS
|
||||
$ THEN
|
||||
$ WRITE OUFILE "$ dir = F$ENVIRONMENT(""PROCEDURE"")"
|
||||
$ WRITE OUFILE "$ dir = F$PARSE(dir,,,""DEVICE"") + F$PARSE(dir,,,""DIRECTORY"")"
|
||||
$ WRITE OUFILE "$ @'dir'GTMLOGICALS.COM"
|
||||
$ ENDIF
|
||||
$ IF .NOT. GTM$DEF_DCL THEN WRITE OUFILE "$ SET COMMAND GTM$DIST:GTMCOMMANDS.CLD"
|
||||
$ WRITE OUFILE "$ DSE :== $GTM$DIST:DSE.EXE ! Database System Editor"
|
||||
$ WRITE OUFILE "$ GDE :== $GTM$DIST:GDE.EXE ! Global Directory Editor"
|
||||
$ WRITE OUFILE "$ GTM :== MUMPS/DIRECT ! Direct Mode MUMPS"
|
||||
$ WRITE OUFILE "$ LKE :== $GTM$DIST:LKE.EXE ! Lock Editor"
|
||||
$ WRITE OUFILE "$ MUPI*P :== $GTM$DIST:MUPIP.EXE ! MUMPS Peripheral Interchange Program"
|
||||
$ WRITE OUFILE "$ EXIT"
|
||||
$ WRITE OUFILE "$ CCE :== $GTM$DIST:CCE.EXE ! GT.CX Operator Interface Program"
|
||||
$ WRITE OUFILE "$ EXIT"
|
||||
$ CLOSE OUFILE
|
||||
$! Create GTMSTART.COM
|
||||
$ OPEN /WRITE OUFILE VMI$KWD:GTMSTART.COM
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$! GTMSTART.COM should be placed in the VMS startup database."
|
||||
$ WRITE OUFILE "$! It invokes GTMLOGICALS.COM and GTMINSTALL.COM."
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$ dir = F$ENVIRONMENT(""PROCEDURE"")"
|
||||
$ WRITE OUFILE "$ dir = F$PARSE(dir,,,""DEVICE"") + F$PARSE(dir,,,""DIRECTORY"")"
|
||||
$ IF GTM$DEF_SYS THEN WRITE OUFILE "$ IF P1 .EQS. """" .OR. (P1 .EQS. ""FULL"") THEN P1 := SYSTEM/EXEC"
|
||||
$ WRITE OUFILE "$ @'dir'GTMLOGICALS 'P1'"
|
||||
$ WRITE OUFILE "$ @'dir'GTMINSTALL"
|
||||
$ WRITE OUFILE "$ EXIT"
|
||||
$ CLOSE OUFILE
|
||||
$! Create GTMSTOP.COM
|
||||
$ OPEN /WRITE OUFILE VMI$KWD:GTMSTOP.COM
|
||||
$ WRITE OUFILE "$!"
|
||||
$ WRITE OUFILE "$! GTMSTOP.COM stops all the active GT.M processes and does a RUNDOWN."
|
||||
$ WRITE OUFILE "$! Place an invocation or copy of this procedure in the site specific"
|
||||
$ WRITE OUFILE "$! shutdown: SYS$MANAGER:SYSHUTDWN to ensure all GT.M databases are"
|
||||
$ WRITE OUFILE "$! properly closed before VMS terminates. GTMSTOP should follow"
|
||||
$ WRITE OUFILE "$! GTCMSTOP and precede GTCXSTOP, if they are used."
|
||||
$ WRITE OUFILE "$! If GTMSTOP is not intended to disable subsequent use of GT.M,"
|
||||
$ WRITE OUFILE "$! add a comment (!) before the INSTALL REMOVE GTMSECSHR."
|
||||
$ WRITE OUFILE "$!"
|
||||
$ IF .NOT. GTM$DEF_SYS
|
||||
$ THEN
|
||||
$ WRITE OUFILE "$ dir = F$ENVIRONMENT(""PROCEDURE"")"
|
||||
$ WRITE OUFILE "$ dir = F$PARSE(dir,,,""DEVICE"") + F$PARSE(dir,,,""DIRECTORY"")"
|
||||
$ WRITE OUFILE "$ @'dir'GTMLOGICALS.COM"
|
||||
$ ENDIF
|
||||
$ WRITE OUFILE "$ MUPIP := $GTM$DIST:MUPIP.EXE"
|
||||
$ WRITE OUFILE "$ STOP := $GTM$DIST:GTM$STOP"
|
||||
$ WRITE OUFILE "$ STOP 'P1'"
|
||||
$ WRITE OUFILE "$ MUPIP RUNDOWN"
|
||||
$ WRITE OUFILE "$ INSTALL REMOVE GTMSECSHR"
|
||||
$ WRITE OUFILE "$ EXIT"
|
||||
$ IF GTM$DEF_SYS THEN WRITE OUFILE "$ IF P2 .EQS. """" THEN P2 := /SYSTEM/EXEC"
|
||||
$ WRITE OUFILE "$ DEASSIGN 'P2' GTMSECSHR"
|
||||
$ CLOSE OUFILE
|
||||
$ VMI$CALLBACK MESSAGE I PREINS "Preparing files for installation."
|
||||
$! GTMFILES.KIT must be maintained as kit contents change
|
||||
$ GTM$HLP_LOG == GTM$DST_LOG
|
||||
$ IF GTM$HLP_DIR THEN GTM$HLP_LOG :== VMI$ROOT:[SYSHLP]
|
||||
$ OPEN /WRITE OUFILE VMI$KWD:GTMFILES.KIT
|
||||
$ IF GTM$MGR_COM
|
||||
$ THEN
|
||||
$ WRITE OUFILE "GTM$ GTMINSTALL.COM VMI$ROOT:[SYSMGR] C"
|
||||
$ WRITE OUFILE "GTM$ GTMLOGICALS.COM VMI$ROOT:[SYSMGR] C"
|
||||
$ WRITE OUFILE "GTM$ GTMLOGIN.COM VMI$ROOT:[SYSMGR] C"
|
||||
$ WRITE OUFILE "GTM$ GTMSTART.COM VMI$ROOT:[SYSMGR] C"
|
||||
$ WRITE OUFILE "GTM$ GTMSTOP.COM VMI$ROOT:[SYSMGR] C"
|
||||
$ ENDIF
|
||||
$ WRITE OUFILE "GTM$ GTMINSTALL.COM ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMLOGICALS.COM ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMLOGIN.COM ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMSTART.COM ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMSTOP.COM ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ DSE.HLB ''GTM$HLP_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GDE.HLB ''GTM$HLP_LOG'"
|
||||
$ WRITE OUFILE "GTM$ LKE.HLB ''GTM$HLP_LOG'"
|
||||
$ WRITE OUFILE "GTM$ MUMPS.HLB ''GTM$HLP_LOG'"
|
||||
$ WRITE OUFILE "GTM$ MUPIP.HLB ''GTM$HLP_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMLIB.OLB ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMSHR.OLB ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMZCALL.MLB ''GTM$DST_LOG'"
|
||||
$ IF ALPHA
|
||||
$ THEN
|
||||
$ WRITE OUFILE "GTM$ GTM$DEFAULTS.M64 ''GTM$DST_LOG'"
|
||||
$ ELSE
|
||||
$ WRITE OUFILE "GTM$ GTM$DEFAULTS.MAR ''GTM$DST_LOG'"
|
||||
$ ENDIF
|
||||
$ WRITE OUFILE "GTM$ GTM$CE.H ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMCOLLECT.OPT ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMCOMMANDS.CLD ''GTM$DST_LOG' C"
|
||||
$ WRITE OUFILE "GTM$ *.M ''GTM$DST_LOG'"
|
||||
$ CLOSE OUFILE
|
||||
$! GTMIMAGES.KIT must be maintained as kit contents change
|
||||
$ OPEN /WRITE OUFILE VMI$KWD:GTMIMAGES.KIT
|
||||
$ WRITE OUFILE "GTM$ GTMSECSHR.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTMSHR.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ DSE.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GDE.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTM$DMOD.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ LKE.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ MCOMPILE.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ MUPIP.EXE ''GTM$DST_LOG'"
|
||||
$ WRITE OUFILE "GTM$ GTM$STOP.EXE ''GTM$DST_LOG'"
|
||||
$ CLOSE OUFILE
|
||||
$! Provide with file.KITs
|
||||
$ VMI$CALLBACK PROVIDE_FILE "" VMI$KWD:GTMFILES.KIT "" T
|
||||
$ VMI$CALLBACK PROVIDE_IMAGE "" VMI$KWD:GTMIMAGES.KIT "" T
|
||||
$ VMI$CALLBACK MESSAGE I FININS "Finalizing the installation."
|
||||
$ IF GTM$DEF_DCL THEN VMI$CALLBACK PROVIDE_DCL_COMMAND GTMCOMMANDS.CLD
|
||||
$ IF GTM$STARTDB THEN VMI$CALLBACK MODIFY_STARTUP_DB ADD GTMSTART.COM LPMAIN
|
||||
$! GTM$INSTALL is TRUE if GTM$RUN_IVP or GTM$PCT_RTN
|
||||
$ IF GTM$INSTALL THEN VMI$CALLBACK SET POSTINSTALL YES
|
||||
$ IF GTM$RUN_IVP THEN VMI$CALLBACK SET IVP YES
|
||||
$ EXIT VMI$_SUCCESS
|
||||
$!
|
||||
$POSTINSTALL:
|
||||
$ ON CONTROL_Y THEN EXIT VMI$_FAILURE
|
||||
$! remove MUPIP from command tables for change from V2.4 to V2.5
|
||||
$ SET NOON
|
||||
$ DEFINE /USER_MODE SYS$OUTPUT NL:
|
||||
$ DEFINE /USER_MODE SYS$ERROR NL:
|
||||
$ SET COMMAND /TABLE=SYS$COMMON:[SYSLIB]DCLTABLES /OUTPUT=SYS$COMMON:[SYSLIB]DCLTABLES /DELETE=MUPIP
|
||||
$ DEFINE /USER_MODE SYS$OUTPUT NL:
|
||||
$ DEFINE /USER_MODE SYS$ERROR NL:
|
||||
$ SET COMMAND /DELETE=MUPIP
|
||||
$ SET ON
|
||||
$ IF GTM$MGR_COM
|
||||
$ THEN
|
||||
$ T1 := SYS$MANAGER:
|
||||
$ ELSE
|
||||
$ T1 = GTM$DST_LOG
|
||||
$ ENDIF
|
||||
$ @'T1'GTMSTART
|
||||
$ @'T1'GTMLOGIN
|
||||
$ ON CONTROL_Y THEN EXIT VMI$_FAILURE
|
||||
$ SET DEFAULT GTM$DIST
|
||||
$ T2 = F$ENVIRONMENT("PROTECTION")
|
||||
$ SET PROTECTION=(S=REWD,O=REWD,G=REWD,W=RE)/DEFAULT
|
||||
$ MUMPS GTM$DMOD.M
|
||||
$ IF GTM$LNK_LOG
|
||||
$ THEN
|
||||
$ T1 :=
|
||||
$ ELSE
|
||||
$ T1 :=,GTMLIB.OLB/LIB,GTMSHR.OLB/LIB
|
||||
$ ENDIF
|
||||
$ LINK GTM$DMOD.OBJ/NOTRACE'T1
|
||||
$ IF GTM$PCT_RTN
|
||||
$ THEN
|
||||
$ TYPE SYS$INPUT
|
||||
|
||||
Compiling the GT.M percent (%) routines.
|
||||
$ MUMPS *
|
||||
$ IF GTM$DOPURGE THEN PURGE *.*
|
||||
$ SET DEFAULT VMI$KWD
|
||||
$ ENDIF ! percent routines
|
||||
$ SET PROTECTION=('T2')/DEFAULT
|
||||
$ EXIT VMI$_SUCCESS
|
||||
$!
|
||||
$IVP:
|
||||
$! The real Installation Verification Procedure.
|
||||
$ TYPE SYS$INPUT
|
||||
|
||||
GT.M Installation Verification Procedure
|
||||
|
||||
$! Extract the IVP .COM file from the text library.
|
||||
$ LIBRARIAN /EXTRACT=GTM$IVP /OUTPUT=GTM$IVP.COM GTM$IVP.TLB
|
||||
$ @GTM$IVP
|
||||
$ EXIT $STATUS
|
||||
$!
|
||||
867
samples/DIGITAL Command Language/ghostpdl_zlib_make_vms.com
Normal file
867
samples/DIGITAL Command Language/ghostpdl_zlib_make_vms.com
Normal file
@@ -0,0 +1,867 @@
|
||||
$! make libz under VMS written by
|
||||
$! Martin P.J. Zinser
|
||||
$!
|
||||
$! In case of problems with the install you might contact me at
|
||||
$! zinser@zinser.no-ip.info(preferred) or
|
||||
$! martin.zinser@eurexchange.com (work)
|
||||
$!
|
||||
$! Make procedure history for Zlib
|
||||
$!
|
||||
$!------------------------------------------------------------------------------
|
||||
$! Version history
|
||||
$! 0.01 20060120 First version to receive a number
|
||||
$! 0.02 20061008 Adapt to new Makefile.in
|
||||
$! 0.03 20091224 Add support for large file check
|
||||
$! 0.04 20100110 Add new gzclose, gzlib, gzread, gzwrite
|
||||
$! 0.05 20100221 Exchange zlibdefs.h by zconf.h.in
|
||||
$! 0.06 20120111 Fix missing amiss_err, update zconf_h.in, fix new exmples
|
||||
$! subdir path, update module search in makefile.in
|
||||
$! 0.07 20120115 Triggered by work done by Alexey Chupahin completly redesigned
|
||||
$! shared image creation
|
||||
$! 0.08 20120219 Make it work on VAX again, pre-load missing symbols to shared
|
||||
$! image
|
||||
$! 0.09 20120305 SMS. P1 sets builder ("MMK", "MMS", " " (built-in)).
|
||||
$! "" -> automatic, preference: MMK, MMS, built-in.
|
||||
$!
|
||||
$ on error then goto err_exit
|
||||
$!
|
||||
$ true = 1
|
||||
$ false = 0
|
||||
$ tmpnam = "temp_" + f$getjpi("","pid")
|
||||
$ tt = tmpnam + ".txt"
|
||||
$ tc = tmpnam + ".c"
|
||||
$ th = tmpnam + ".h"
|
||||
$ define/nolog tconfig 'th'
|
||||
$ its_decc = false
|
||||
$ its_vaxc = false
|
||||
$ its_gnuc = false
|
||||
$ s_case = False
|
||||
$!
|
||||
$! Setup variables holding "config" information
|
||||
$!
|
||||
$ Make = "''p1'"
|
||||
$ name = "Zlib"
|
||||
$ version = "?.?.?"
|
||||
$ v_string = "ZLIB_VERSION"
|
||||
$ v_file = "zlib.h"
|
||||
$ ccopt = "/include = []"
|
||||
$ lopts = ""
|
||||
$ dnsrl = ""
|
||||
$ aconf_in_file = "zconf.h.in#zconf.h_in#zconf_h.in"
|
||||
$ conf_check_string = ""
|
||||
$ linkonly = false
|
||||
$ optfile = name + ".opt"
|
||||
$ mapfile = name + ".map"
|
||||
$ libdefs = ""
|
||||
$ vax = f$getsyi("HW_MODEL").lt.1024
|
||||
$ axp = f$getsyi("HW_MODEL").ge.1024 .and. f$getsyi("HW_MODEL").lt.4096
|
||||
$ ia64 = f$getsyi("HW_MODEL").ge.4096
|
||||
$!
|
||||
$! 2012-03-05 SMS.
|
||||
$! Why is this needed? And if it is needed, why not simply ".not. vax"?
|
||||
$!
|
||||
$!!! if axp .or. ia64 then set proc/parse=extended
|
||||
$!
|
||||
$ whoami = f$parse(f$environment("Procedure"),,,,"NO_CONCEAL")
|
||||
$ mydef = F$parse(whoami,,,"DEVICE")
|
||||
$ mydir = f$parse(whoami,,,"DIRECTORY") - "]["
|
||||
$ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type")
|
||||
$!
|
||||
$! Check for MMK/MMS
|
||||
$!
|
||||
$ if (Make .eqs. "")
|
||||
$ then
|
||||
$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
|
||||
$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
|
||||
$ else
|
||||
$ Make = f$edit( Make, "trim")
|
||||
$ endif
|
||||
$!
|
||||
$ gosub find_version
|
||||
$!
|
||||
$ open/write topt tmp.opt
|
||||
$ open/write optf 'optfile'
|
||||
$!
|
||||
$ gosub check_opts
|
||||
$!
|
||||
$! Look for the compiler used
|
||||
$!
|
||||
$ gosub check_compiler
|
||||
$ close topt
|
||||
$ close optf
|
||||
$!
|
||||
$ if its_decc
|
||||
$ then
|
||||
$ ccopt = "/prefix=all" + ccopt
|
||||
$ if f$trnlnm("SYS") .eqs. ""
|
||||
$ then
|
||||
$ if axp
|
||||
$ then
|
||||
$ define sys sys$library:
|
||||
$ else
|
||||
$ ccopt = "/decc" + ccopt
|
||||
$ define sys decc$library_include:
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$! 2012-03-05 SMS.
|
||||
$! Why /NAMES = AS_IS? Why not simply ".not. vax"? And why not on VAX?
|
||||
$!
|
||||
$ if axp .or. ia64
|
||||
$ then
|
||||
$ ccopt = ccopt + "/name=as_is/opt=(inline=speed)"
|
||||
$ s_case = true
|
||||
$ endif
|
||||
$ endif
|
||||
$ if its_vaxc .or. its_gnuc
|
||||
$ then
|
||||
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
|
||||
$ endif
|
||||
$!
|
||||
$! Build a fake configure input header
|
||||
$!
|
||||
$ open/write conf_hin config.hin
|
||||
$ write conf_hin "#undef _LARGEFILE64_SOURCE"
|
||||
$ close conf_hin
|
||||
$!
|
||||
$!
|
||||
$ i = 0
|
||||
$FIND_ACONF:
|
||||
$ fname = f$element(i,"#",aconf_in_file)
|
||||
$ if fname .eqs. "#" then goto AMISS_ERR
|
||||
$ if f$search(fname) .eqs. ""
|
||||
$ then
|
||||
$ i = i + 1
|
||||
$ goto find_aconf
|
||||
$ endif
|
||||
$ open/read/err=aconf_err aconf_in 'fname'
|
||||
$ open/write aconf zconf.h
|
||||
$ACONF_LOOP:
|
||||
$ read/end_of_file=aconf_exit aconf_in line
|
||||
$ work = f$edit(line, "compress,trim")
|
||||
$ if f$extract(0,6,work) .nes. "#undef"
|
||||
$ then
|
||||
$ if f$extract(0,12,work) .nes. "#cmakedefine"
|
||||
$ then
|
||||
$ write aconf line
|
||||
$ endif
|
||||
$ else
|
||||
$ cdef = f$element(1," ",work)
|
||||
$ gosub check_config
|
||||
$ endif
|
||||
$ goto aconf_loop
|
||||
$ACONF_EXIT:
|
||||
$ write aconf ""
|
||||
$ write aconf "/* VMS specifics added by make_vms.com: */"
|
||||
$ write aconf "#define VMS 1"
|
||||
$ write aconf "#include <unistd.h>"
|
||||
$ write aconf "#include <unixio.h>"
|
||||
$ write aconf "#ifdef _LARGEFILE"
|
||||
$ write aconf "# define off64_t __off64_t"
|
||||
$ write aconf "# define fopen64 fopen"
|
||||
$ write aconf "# define fseeko64 fseeko"
|
||||
$ write aconf "# define lseek64 lseek"
|
||||
$ write aconf "# define ftello64 ftell"
|
||||
$ write aconf "#endif"
|
||||
$ write aconf "#if !defined( __VAX) && (__CRTL_VER >= 70312000)"
|
||||
$ write aconf "# define HAVE_VSNPRINTF"
|
||||
$ write aconf "#endif"
|
||||
$ close aconf_in
|
||||
$ close aconf
|
||||
$ if f$search("''th'") .nes. "" then delete 'th';*
|
||||
$! Build the thing plain or with mms
|
||||
$!
|
||||
$ write sys$output "Compiling Zlib sources ..."
|
||||
$ if make.eqs.""
|
||||
$ then
|
||||
$ if (f$search( "example.obj;*") .nes. "") then delete example.obj;*
|
||||
$ if (f$search( "minigzip.obj;*") .nes. "") then delete minigzip.obj;*
|
||||
$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" -
|
||||
adler32.c zlib.h zconf.h
|
||||
$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" -
|
||||
compress.c zlib.h zconf.h
|
||||
$ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" -
|
||||
crc32.c zlib.h zconf.h
|
||||
$ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" -
|
||||
deflate.c deflate.h zutil.h zlib.h zconf.h
|
||||
$ CALL MAKE gzclose.OBJ "CC ''CCOPT' gzclose" -
|
||||
gzclose.c zutil.h zlib.h zconf.h
|
||||
$ CALL MAKE gzlib.OBJ "CC ''CCOPT' gzlib" -
|
||||
gzlib.c zutil.h zlib.h zconf.h
|
||||
$ CALL MAKE gzread.OBJ "CC ''CCOPT' gzread" -
|
||||
gzread.c zutil.h zlib.h zconf.h
|
||||
$ CALL MAKE gzwrite.OBJ "CC ''CCOPT' gzwrite" -
|
||||
gzwrite.c zutil.h zlib.h zconf.h
|
||||
$ CALL MAKE infback.OBJ "CC ''CCOPT' infback" -
|
||||
infback.c zutil.h inftrees.h inflate.h inffast.h inffixed.h
|
||||
$ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" -
|
||||
inffast.c zutil.h zlib.h zconf.h inffast.h
|
||||
$ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" -
|
||||
inflate.c zutil.h zlib.h zconf.h infblock.h
|
||||
$ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" -
|
||||
inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
||||
$ CALL MAKE trees.OBJ "CC ''CCOPT' trees" -
|
||||
trees.c deflate.h zutil.h zlib.h zconf.h
|
||||
$ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" -
|
||||
uncompr.c zlib.h zconf.h
|
||||
$ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" -
|
||||
zutil.c zutil.h zlib.h zconf.h
|
||||
$ write sys$output "Building Zlib ..."
|
||||
$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ
|
||||
$ write sys$output "Building example..."
|
||||
$ CALL MAKE example.OBJ "CC ''CCOPT' [.test]example" -
|
||||
[.test]example.c zlib.h zconf.h
|
||||
$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb
|
||||
$ write sys$output "Building minigzip..."
|
||||
$ CALL MAKE minigzip.OBJ "CC ''CCOPT' [.test]minigzip" -
|
||||
[.test]minigzip.c zlib.h zconf.h
|
||||
$ call make minigzip.exe -
|
||||
"LINK minigzip,libz.olb/lib" -
|
||||
minigzip.obj libz.olb
|
||||
$ else
|
||||
$ gosub crea_mms
|
||||
$ write sys$output "Make ''name' ''version' with ''Make' "
|
||||
$ 'make'
|
||||
$ endif
|
||||
$!
|
||||
$! Create shareable image
|
||||
$!
|
||||
$ gosub crea_olist
|
||||
$ write sys$output "Creating libzshr.exe"
|
||||
$ call map_2_shopt 'mapfile' 'optfile'
|
||||
$ LINK_'lopts'/SHARE=libzshr.exe modules.opt/opt,'optfile'/opt
|
||||
$ write sys$output "Zlib build completed"
|
||||
$ delete/nolog tmp.opt;*
|
||||
$ exit
|
||||
$AMISS_ERR:
|
||||
$ write sys$output "No source for config.hin found."
|
||||
$ write sys$output "Tried any of ''aconf_in_file'"
|
||||
$ goto err_exit
|
||||
$CC_ERR:
|
||||
$ write sys$output "C compiler required to build ''name'"
|
||||
$ goto err_exit
|
||||
$ERR_EXIT:
|
||||
$ set message/facil/ident/sever/text
|
||||
$ close/nolog optf
|
||||
$ close/nolog topt
|
||||
$ close/nolog aconf_in
|
||||
$ close/nolog aconf
|
||||
$ close/nolog out
|
||||
$ close/nolog min
|
||||
$ close/nolog mod
|
||||
$ close/nolog h_in
|
||||
$ write sys$output "Exiting..."
|
||||
$ exit 2
|
||||
$!
|
||||
$!
|
||||
$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
|
||||
$ V = 'F$Verify(0)
|
||||
$! P1 = What we are trying to make
|
||||
$! P2 = Command to make it
|
||||
$! P3 - P8 What it depends on
|
||||
$
|
||||
$ If F$Search(P1) .Eqs. "" Then Goto Makeit
|
||||
$ Time = F$CvTime(F$File(P1,"RDT"))
|
||||
$arg=3
|
||||
$Loop:
|
||||
$ Argument = P'arg
|
||||
$ If Argument .Eqs. "" Then Goto Exit
|
||||
$ El=0
|
||||
$Loop2:
|
||||
$ File = F$Element(El," ",Argument)
|
||||
$ If File .Eqs. " " Then Goto Endl
|
||||
$ AFile = ""
|
||||
$Loop3:
|
||||
$ OFile = AFile
|
||||
$ AFile = F$Search(File)
|
||||
$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
|
||||
$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
|
||||
$ Goto Loop3
|
||||
$NextEL:
|
||||
$ El = El + 1
|
||||
$ Goto Loop2
|
||||
$EndL:
|
||||
$ arg=arg+1
|
||||
$ If arg .Le. 8 Then Goto Loop
|
||||
$ Goto Exit
|
||||
$
|
||||
$Makeit:
|
||||
$ VV=F$VERIFY(0)
|
||||
$ write sys$output P2
|
||||
$ 'P2
|
||||
$ VV='F$Verify(VV)
|
||||
$Exit:
|
||||
$ If V Then Set Verify
|
||||
$ENDSUBROUTINE
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Check command line options and set symbols accordingly
|
||||
$!
|
||||
$!------------------------------------------------------------------------------
|
||||
$! Version history
|
||||
$! 0.01 20041206 First version to receive a number
|
||||
$! 0.02 20060126 Add new "HELP" target
|
||||
$ CHECK_OPTS:
|
||||
$ i = 1
|
||||
$ OPT_LOOP:
|
||||
$ if i .lt. 9
|
||||
$ then
|
||||
$ cparm = f$edit(p'i',"upcase")
|
||||
$!
|
||||
$! Check if parameter actually contains something
|
||||
$!
|
||||
$ if f$edit(cparm,"trim") .nes. ""
|
||||
$ then
|
||||
$ if cparm .eqs. "DEBUG"
|
||||
$ then
|
||||
$ ccopt = ccopt + "/noopt/deb"
|
||||
$ lopts = lopts + "/deb"
|
||||
$ endif
|
||||
$ if f$locate("CCOPT=",cparm) .lt. f$length(cparm)
|
||||
$ then
|
||||
$ start = f$locate("=",cparm) + 1
|
||||
$ len = f$length(cparm) - start
|
||||
$ ccopt = ccopt + f$extract(start,len,cparm)
|
||||
$ if f$locate("AS_IS",f$edit(ccopt,"UPCASE")) .lt. f$length(ccopt) -
|
||||
then s_case = true
|
||||
$ endif
|
||||
$ if cparm .eqs. "LINK" then linkonly = true
|
||||
$ if f$locate("LOPTS=",cparm) .lt. f$length(cparm)
|
||||
$ then
|
||||
$ start = f$locate("=",cparm) + 1
|
||||
$ len = f$length(cparm) - start
|
||||
$ lopts = lopts + f$extract(start,len,cparm)
|
||||
$ endif
|
||||
$ if f$locate("CC=",cparm) .lt. f$length(cparm)
|
||||
$ then
|
||||
$ start = f$locate("=",cparm) + 1
|
||||
$ len = f$length(cparm) - start
|
||||
$ cc_com = f$extract(start,len,cparm)
|
||||
if (cc_com .nes. "DECC") .and. -
|
||||
(cc_com .nes. "VAXC") .and. -
|
||||
(cc_com .nes. "GNUC")
|
||||
$ then
|
||||
$ write sys$output "Unsupported compiler choice ''cc_com' ignored"
|
||||
$ write sys$output "Use DECC, VAXC, or GNUC instead"
|
||||
$ else
|
||||
$ if cc_com .eqs. "DECC" then its_decc = true
|
||||
$ if cc_com .eqs. "VAXC" then its_vaxc = true
|
||||
$ if cc_com .eqs. "GNUC" then its_gnuc = true
|
||||
$ endif
|
||||
$ endif
|
||||
$ if f$locate("MAKE=",cparm) .lt. f$length(cparm)
|
||||
$ then
|
||||
$ start = f$locate("=",cparm) + 1
|
||||
$ len = f$length(cparm) - start
|
||||
$ mmks = f$extract(start,len,cparm)
|
||||
$ if (mmks .eqs. "MMK") .or. (mmks .eqs. "MMS")
|
||||
$ then
|
||||
$ make = mmks
|
||||
$ else
|
||||
$ write sys$output "Unsupported make choice ''mmks' ignored"
|
||||
$ write sys$output "Use MMK or MMS instead"
|
||||
$ endif
|
||||
$ endif
|
||||
$ if cparm .eqs. "HELP" then gosub bhelp
|
||||
$ endif
|
||||
$ i = i + 1
|
||||
$ goto opt_loop
|
||||
$ endif
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Look for the compiler used
|
||||
$!
|
||||
$! Version history
|
||||
$! 0.01 20040223 First version to receive a number
|
||||
$! 0.02 20040229 Save/set value of decc$no_rooted_search_lists
|
||||
$! 0.03 20060202 Extend handling of GNU C
|
||||
$! 0.04 20090402 Compaq -> hp
|
||||
$CHECK_COMPILER:
|
||||
$ if (.not. (its_decc .or. its_vaxc .or. its_gnuc))
|
||||
$ then
|
||||
$ its_decc = (f$search("SYS$SYSTEM:DECC$COMPILER.EXE") .nes. "")
|
||||
$ its_vaxc = .not. its_decc .and. (F$Search("SYS$System:VAXC.Exe") .nes. "")
|
||||
$ its_gnuc = .not. (its_decc .or. its_vaxc) .and. (f$trnlnm("gnu_cc") .nes. "")
|
||||
$ endif
|
||||
$!
|
||||
$! Exit if no compiler available
|
||||
$!
|
||||
$ if (.not. (its_decc .or. its_vaxc .or. its_gnuc))
|
||||
$ then goto CC_ERR
|
||||
$ else
|
||||
$ if its_decc
|
||||
$ then
|
||||
$ write sys$output "CC compiler check ... hp C"
|
||||
$ if f$trnlnm("decc$no_rooted_search_lists") .nes. ""
|
||||
$ then
|
||||
$ dnrsl = f$trnlnm("decc$no_rooted_search_lists")
|
||||
$ endif
|
||||
$ define/nolog decc$no_rooted_search_lists 1
|
||||
$ else
|
||||
$ if its_vaxc then write sys$output "CC compiler check ... VAX C"
|
||||
$ if its_gnuc
|
||||
$ then
|
||||
$ write sys$output "CC compiler check ... GNU C"
|
||||
$ if f$trnlnm(topt) then write topt "gnu_cc:[000000]gcclib.olb/lib"
|
||||
$ if f$trnlnm(optf) then write optf "gnu_cc:[000000]gcclib.olb/lib"
|
||||
$ cc = "gcc"
|
||||
$ endif
|
||||
$ if f$trnlnm(topt) then write topt "sys$share:vaxcrtl.exe/share"
|
||||
$ if f$trnlnm(optf) then write optf "sys$share:vaxcrtl.exe/share"
|
||||
$ endif
|
||||
$ endif
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! If MMS/MMK are available dump out the descrip.mms if required
|
||||
$!
|
||||
$CREA_MMS:
|
||||
$ write sys$output "Creating descrip.mms..."
|
||||
$ create descrip.mms
|
||||
$ open/append out descrip.mms
|
||||
$ copy sys$input: out
|
||||
$ deck
|
||||
# descrip.mms: MMS description file for building zlib on VMS
|
||||
# written by Martin P.J. Zinser
|
||||
# <zinser@zinser.no-ip.info or martin.zinser@eurexchange.com>
|
||||
|
||||
OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzlib.obj\
|
||||
gzread.obj, gzwrite.obj, uncompr.obj, infback.obj\
|
||||
deflate.obj, trees.obj, zutil.obj, inflate.obj, \
|
||||
inftrees.obj, inffast.obj
|
||||
|
||||
$ eod
|
||||
$ write out "CFLAGS=", ccopt
|
||||
$ write out "LOPTS=", lopts
|
||||
$ write out "all : example.exe minigzip.exe libz.olb"
|
||||
$ copy sys$input: out
|
||||
$ deck
|
||||
@ write sys$output " Example applications available"
|
||||
|
||||
libz.olb : libz.olb($(OBJS))
|
||||
@ write sys$output " libz available"
|
||||
|
||||
example.exe : example.obj libz.olb
|
||||
link $(LOPTS) example,libz.olb/lib
|
||||
|
||||
minigzip.exe : minigzip.obj libz.olb
|
||||
link $(LOPTS) minigzip,libz.olb/lib
|
||||
|
||||
clean :
|
||||
delete *.obj;*,libz.olb;*,*.opt;*,*.exe;*
|
||||
|
||||
|
||||
# Other dependencies.
|
||||
adler32.obj : adler32.c zutil.h zlib.h zconf.h
|
||||
compress.obj : compress.c zlib.h zconf.h
|
||||
crc32.obj : crc32.c zutil.h zlib.h zconf.h
|
||||
deflate.obj : deflate.c deflate.h zutil.h zlib.h zconf.h
|
||||
example.obj : [.test]example.c zlib.h zconf.h
|
||||
gzclose.obj : gzclose.c zutil.h zlib.h zconf.h
|
||||
gzlib.obj : gzlib.c zutil.h zlib.h zconf.h
|
||||
gzread.obj : gzread.c zutil.h zlib.h zconf.h
|
||||
gzwrite.obj : gzwrite.c zutil.h zlib.h zconf.h
|
||||
inffast.obj : inffast.c zutil.h zlib.h zconf.h inftrees.h inffast.h
|
||||
inflate.obj : inflate.c zutil.h zlib.h zconf.h
|
||||
inftrees.obj : inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
||||
minigzip.obj : [.test]minigzip.c zlib.h zconf.h
|
||||
trees.obj : trees.c deflate.h zutil.h zlib.h zconf.h
|
||||
uncompr.obj : uncompr.c zlib.h zconf.h
|
||||
zutil.obj : zutil.c zutil.h zlib.h zconf.h
|
||||
infback.obj : infback.c zutil.h inftrees.h inflate.h inffast.h inffixed.h
|
||||
$ eod
|
||||
$ close out
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Read list of core library sources from makefile.in and create options
|
||||
$! needed to build shareable image
|
||||
$!
|
||||
$CREA_OLIST:
|
||||
$ open/read min makefile.in
|
||||
$ open/write mod modules.opt
|
||||
$ src_check_list = "OBJZ =#OBJG ="
|
||||
$MRLOOP:
|
||||
$ read/end=mrdone min rec
|
||||
$ i = 0
|
||||
$SRC_CHECK_LOOP:
|
||||
$ src_check = f$element(i, "#", src_check_list)
|
||||
$ i = i+1
|
||||
$ if src_check .eqs. "#" then goto mrloop
|
||||
$ if (f$extract(0,6,rec) .nes. src_check) then goto src_check_loop
|
||||
$ rec = rec - src_check
|
||||
$ gosub extra_filnam
|
||||
$ if (f$element(1,"\",rec) .eqs. "\") then goto mrloop
|
||||
$MRSLOOP:
|
||||
$ read/end=mrdone min rec
|
||||
$ gosub extra_filnam
|
||||
$ if (f$element(1,"\",rec) .nes. "\") then goto mrsloop
|
||||
$MRDONE:
|
||||
$ close min
|
||||
$ close mod
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Take record extracted in crea_olist and split it into single filenames
|
||||
$!
|
||||
$EXTRA_FILNAM:
|
||||
$ myrec = f$edit(rec - "\", "trim,compress")
|
||||
$ i = 0
|
||||
$FELOOP:
|
||||
$ srcfil = f$element(i," ", myrec)
|
||||
$ if (srcfil .nes. " ")
|
||||
$ then
|
||||
$ write mod f$parse(srcfil,,,"NAME"), ".obj"
|
||||
$ i = i + 1
|
||||
$ goto feloop
|
||||
$ endif
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Find current Zlib version number
|
||||
$!
|
||||
$FIND_VERSION:
|
||||
$ open/read h_in 'v_file'
|
||||
$hloop:
|
||||
$ read/end=hdone h_in rec
|
||||
$ rec = f$edit(rec,"TRIM")
|
||||
$ if (f$extract(0,1,rec) .nes. "#") then goto hloop
|
||||
$ rec = f$edit(rec - "#", "TRIM")
|
||||
$ if f$element(0," ",rec) .nes. "define" then goto hloop
|
||||
$ if f$element(1," ",rec) .eqs. v_string
|
||||
$ then
|
||||
$ version = 'f$element(2," ",rec)'
|
||||
$ goto hdone
|
||||
$ endif
|
||||
$ goto hloop
|
||||
$hdone:
|
||||
$ close h_in
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$CHECK_CONFIG:
|
||||
$!
|
||||
$ in_ldef = f$locate(cdef,libdefs)
|
||||
$ if (in_ldef .lt. f$length(libdefs))
|
||||
$ then
|
||||
$ write aconf "#define ''cdef' 1"
|
||||
$ libdefs = f$extract(0,in_ldef,libdefs) + -
|
||||
f$extract(in_ldef + f$length(cdef) + 1, -
|
||||
f$length(libdefs) - in_ldef - f$length(cdef) - 1, -
|
||||
libdefs)
|
||||
$ else
|
||||
$ if (f$type('cdef') .eqs. "INTEGER")
|
||||
$ then
|
||||
$ write aconf "#define ''cdef' ", 'cdef'
|
||||
$ else
|
||||
$ if (f$type('cdef') .eqs. "STRING")
|
||||
$ then
|
||||
$ write aconf "#define ''cdef' ", """", '''cdef'', """"
|
||||
$ else
|
||||
$ gosub check_cc_def
|
||||
$ endif
|
||||
$ endif
|
||||
$ endif
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Check if this is a define relating to the properties of the C/C++
|
||||
$! compiler
|
||||
$!
|
||||
$ CHECK_CC_DEF:
|
||||
$ if (cdef .eqs. "_LARGEFILE64_SOURCE")
|
||||
$ then
|
||||
$ copy sys$input: 'tc'
|
||||
$ deck
|
||||
#include "tconfig"
|
||||
#define _LARGEFILE
|
||||
#include <stdio.h>
|
||||
|
||||
int main(){
|
||||
FILE *fp;
|
||||
fp = fopen("temp.txt","r");
|
||||
fseeko(fp,1,SEEK_SET);
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
$ eod
|
||||
$ test_inv = false
|
||||
$ comm_h = false
|
||||
$ gosub cc_prop_check
|
||||
$ return
|
||||
$ endif
|
||||
$ write aconf "/* ", line, " */"
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Check for properties of C/C++ compiler
|
||||
$!
|
||||
$! Version history
|
||||
$! 0.01 20031020 First version to receive a number
|
||||
$! 0.02 20031022 Added logic for defines with value
|
||||
$! 0.03 20040309 Make sure local config file gets not deleted
|
||||
$! 0.04 20041230 Also write include for configure run
|
||||
$! 0.05 20050103 Add processing of "comment defines"
|
||||
$CC_PROP_CHECK:
|
||||
$ cc_prop = true
|
||||
$ is_need = false
|
||||
$ is_need = (f$extract(0,4,cdef) .eqs. "NEED") .or. (test_inv .eq. true)
|
||||
$ if f$search(th) .eqs. "" then create 'th'
|
||||
$ set message/nofac/noident/nosever/notext
|
||||
$ on error then continue
|
||||
$ cc 'tmpnam'
|
||||
$ if .not. ($status) then cc_prop = false
|
||||
$ on error then continue
|
||||
$! The headers might lie about the capabilities of the RTL
|
||||
$ link 'tmpnam',tmp.opt/opt
|
||||
$ if .not. ($status) then cc_prop = false
|
||||
$ set message/fac/ident/sever/text
|
||||
$ on error then goto err_exit
|
||||
$ delete/nolog 'tmpnam'.*;*/exclude='th'
|
||||
$ if (cc_prop .and. .not. is_need) .or. -
|
||||
(.not. cc_prop .and. is_need)
|
||||
$ then
|
||||
$ write sys$output "Checking for ''cdef'... yes"
|
||||
$ if f$type('cdef_val'_yes) .nes. ""
|
||||
$ then
|
||||
$ if f$type('cdef_val'_yes) .eqs. "INTEGER" -
|
||||
then call write_config f$fao("#define !AS !UL",cdef,'cdef_val'_yes)
|
||||
$ if f$type('cdef_val'_yes) .eqs. "STRING" -
|
||||
then call write_config f$fao("#define !AS !AS",cdef,'cdef_val'_yes)
|
||||
$ else
|
||||
$ call write_config f$fao("#define !AS 1",cdef)
|
||||
$ endif
|
||||
$ if (cdef .eqs. "HAVE_FSEEKO") .or. (cdef .eqs. "_LARGE_FILES") .or. -
|
||||
(cdef .eqs. "_LARGEFILE64_SOURCE") then -
|
||||
call write_config f$string("#define _LARGEFILE 1")
|
||||
$ else
|
||||
$ write sys$output "Checking for ''cdef'... no"
|
||||
$ if (comm_h)
|
||||
$ then
|
||||
call write_config f$fao("/* !AS */",line)
|
||||
$ else
|
||||
$ if f$type('cdef_val'_no) .nes. ""
|
||||
$ then
|
||||
$ if f$type('cdef_val'_no) .eqs. "INTEGER" -
|
||||
then call write_config f$fao("#define !AS !UL",cdef,'cdef_val'_no)
|
||||
$ if f$type('cdef_val'_no) .eqs. "STRING" -
|
||||
then call write_config f$fao("#define !AS !AS",cdef,'cdef_val'_no)
|
||||
$ else
|
||||
$ call write_config f$fao("#undef !AS",cdef)
|
||||
$ endif
|
||||
$ endif
|
||||
$ endif
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Check for properties of C/C++ compiler with multiple result values
|
||||
$!
|
||||
$! Version history
|
||||
$! 0.01 20040127 First version
|
||||
$! 0.02 20050103 Reconcile changes from cc_prop up to version 0.05
|
||||
$CC_MPROP_CHECK:
|
||||
$ cc_prop = true
|
||||
$ i = 1
|
||||
$ idel = 1
|
||||
$ MT_LOOP:
|
||||
$ if f$type(result_'i') .eqs. "STRING"
|
||||
$ then
|
||||
$ set message/nofac/noident/nosever/notext
|
||||
$ on error then continue
|
||||
$ cc 'tmpnam'_'i'
|
||||
$ if .not. ($status) then cc_prop = false
|
||||
$ on error then continue
|
||||
$! The headers might lie about the capabilities of the RTL
|
||||
$ link 'tmpnam'_'i',tmp.opt/opt
|
||||
$ if .not. ($status) then cc_prop = false
|
||||
$ set message/fac/ident/sever/text
|
||||
$ on error then goto err_exit
|
||||
$ delete/nolog 'tmpnam'_'i'.*;*
|
||||
$ if (cc_prop)
|
||||
$ then
|
||||
$ write sys$output "Checking for ''cdef'... ", mdef_'i'
|
||||
$ if f$type(mdef_'i') .eqs. "INTEGER" -
|
||||
then call write_config f$fao("#define !AS !UL",cdef,mdef_'i')
|
||||
$ if f$type('cdef_val'_yes) .eqs. "STRING" -
|
||||
then call write_config f$fao("#define !AS !AS",cdef,mdef_'i')
|
||||
$ goto msym_clean
|
||||
$ else
|
||||
$ i = i + 1
|
||||
$ goto mt_loop
|
||||
$ endif
|
||||
$ endif
|
||||
$ write sys$output "Checking for ''cdef'... no"
|
||||
$ call write_config f$fao("#undef !AS",cdef)
|
||||
$ MSYM_CLEAN:
|
||||
$ if (idel .le. msym_max)
|
||||
$ then
|
||||
$ delete/sym mdef_'idel'
|
||||
$ idel = idel + 1
|
||||
$ goto msym_clean
|
||||
$ endif
|
||||
$ return
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Write configuration to both permanent and temporary config file
|
||||
$!
|
||||
$! Version history
|
||||
$! 0.01 20031029 First version to receive a number
|
||||
$!
|
||||
$WRITE_CONFIG: SUBROUTINE
|
||||
$ write aconf 'p1'
|
||||
$ open/append confh 'th'
|
||||
$ write confh 'p1'
|
||||
$ close confh
|
||||
$ENDSUBROUTINE
|
||||
$!------------------------------------------------------------------------------
|
||||
$!
|
||||
$! Analyze the project map file and create the symbol vector for a shareable
|
||||
$! image from it
|
||||
$!
|
||||
$! Version history
|
||||
$! 0.01 20120128 First version
|
||||
$! 0.02 20120226 Add pre-load logic
|
||||
$!
|
||||
$ MAP_2_SHOPT: Subroutine
|
||||
$!
|
||||
$ SAY := "WRITE_ SYS$OUTPUT"
|
||||
$!
|
||||
$ IF F$SEARCH("''P1'") .EQS. ""
|
||||
$ THEN
|
||||
$ SAY "MAP_2_SHOPT-E-NOSUCHFILE: Error, inputfile ''p1' not available"
|
||||
$ goto exit_m2s
|
||||
$ ENDIF
|
||||
$ IF "''P2'" .EQS. ""
|
||||
$ THEN
|
||||
$ SAY "MAP_2_SHOPT: Error, no output file provided"
|
||||
$ goto exit_m2s
|
||||
$ ENDIF
|
||||
$!
|
||||
$ module1 = "deflate#deflateEnd#deflateInit_#deflateParams#deflateSetDictionary"
|
||||
$ module2 = "gzclose#gzerror#gzgetc#gzgets#gzopen#gzprintf#gzputc#gzputs#gzread"
|
||||
$ module3 = "gzseek#gztell#inflate#inflateEnd#inflateInit_#inflateSetDictionary"
|
||||
$ module4 = "inflateSync#uncompress#zlibVersion#compress"
|
||||
$ open/read map 'p1
|
||||
$ if axp .or. ia64
|
||||
$ then
|
||||
$ open/write aopt a.opt
|
||||
$ open/write bopt b.opt
|
||||
$ write aopt " CASE_SENSITIVE=YES"
|
||||
$ write bopt "SYMBOL_VECTOR= (-"
|
||||
$ mod_sym_num = 1
|
||||
$ MOD_SYM_LOOP:
|
||||
$ if f$type(module'mod_sym_num') .nes. ""
|
||||
$ then
|
||||
$ mod_in = 0
|
||||
$ MOD_SYM_IN:
|
||||
$ shared_proc = f$element(mod_in, "#", module'mod_sym_num')
|
||||
$ if shared_proc .nes. "#"
|
||||
$ then
|
||||
$ write aopt f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)",-
|
||||
f$edit(shared_proc,"upcase"),shared_proc)
|
||||
$ write bopt f$fao("!AS=PROCEDURE,-",shared_proc)
|
||||
$ mod_in = mod_in + 1
|
||||
$ goto mod_sym_in
|
||||
$ endif
|
||||
$ mod_sym_num = mod_sym_num + 1
|
||||
$ goto mod_sym_loop
|
||||
$ endif
|
||||
$MAP_LOOP:
|
||||
$ read/end=map_end map line
|
||||
$ if (f$locate("{",line).lt. f$length(line)) .or. -
|
||||
(f$locate("global:", line) .lt. f$length(line))
|
||||
$ then
|
||||
$ proc = true
|
||||
$ goto map_loop
|
||||
$ endif
|
||||
$ if f$locate("}",line).lt. f$length(line) then proc = false
|
||||
$ if f$locate("local:", line) .lt. f$length(line) then proc = false
|
||||
$ if proc
|
||||
$ then
|
||||
$ shared_proc = f$edit(line,"collapse")
|
||||
$ chop_semi = f$locate(";", shared_proc)
|
||||
$ if chop_semi .lt. f$length(shared_proc) then -
|
||||
shared_proc = f$extract(0, chop_semi, shared_proc)
|
||||
$ write aopt f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)",-
|
||||
f$edit(shared_proc,"upcase"),shared_proc)
|
||||
$ write bopt f$fao("!AS=PROCEDURE,-",shared_proc)
|
||||
$ endif
|
||||
$ goto map_loop
|
||||
$MAP_END:
|
||||
$ close/nolog aopt
|
||||
$ close/nolog bopt
|
||||
$ open/append libopt 'p2'
|
||||
$ open/read aopt a.opt
|
||||
$ open/read bopt b.opt
|
||||
$ALOOP:
|
||||
$ read/end=aloop_end aopt line
|
||||
$ write libopt line
|
||||
$ goto aloop
|
||||
$ALOOP_END:
|
||||
$ close/nolog aopt
|
||||
$ sv = ""
|
||||
$BLOOP:
|
||||
$ read/end=bloop_end bopt svn
|
||||
$ if (svn.nes."")
|
||||
$ then
|
||||
$ if (sv.nes."") then write libopt sv
|
||||
$ sv = svn
|
||||
$ endif
|
||||
$ goto bloop
|
||||
$BLOOP_END:
|
||||
$ write libopt f$extract(0,f$length(sv)-2,sv), "-"
|
||||
$ write libopt ")"
|
||||
$ close/nolog bopt
|
||||
$ delete/nolog/noconf a.opt;*,b.opt;*
|
||||
$ else
|
||||
$ if vax
|
||||
$ then
|
||||
$ open/append libopt 'p2'
|
||||
$ mod_sym_num = 1
|
||||
$ VMOD_SYM_LOOP:
|
||||
$ if f$type(module'mod_sym_num') .nes. ""
|
||||
$ then
|
||||
$ mod_in = 0
|
||||
$ VMOD_SYM_IN:
|
||||
$ shared_proc = f$element(mod_in, "#", module'mod_sym_num')
|
||||
$ if shared_proc .nes. "#"
|
||||
$ then
|
||||
$ write libopt f$fao("UNIVERSAL=!AS",-
|
||||
f$edit(shared_proc,"upcase"))
|
||||
$ mod_in = mod_in + 1
|
||||
$ goto vmod_sym_in
|
||||
$ endif
|
||||
$ mod_sym_num = mod_sym_num + 1
|
||||
$ goto vmod_sym_loop
|
||||
$ endif
|
||||
$VMAP_LOOP:
|
||||
$ read/end=vmap_end map line
|
||||
$ if (f$locate("{",line).lt. f$length(line)) .or. -
|
||||
(f$locate("global:", line) .lt. f$length(line))
|
||||
$ then
|
||||
$ proc = true
|
||||
$ goto vmap_loop
|
||||
$ endif
|
||||
$ if f$locate("}",line).lt. f$length(line) then proc = false
|
||||
$ if f$locate("local:", line) .lt. f$length(line) then proc = false
|
||||
$ if proc
|
||||
$ then
|
||||
$ shared_proc = f$edit(line,"collapse")
|
||||
$ chop_semi = f$locate(";", shared_proc)
|
||||
$ if chop_semi .lt. f$length(shared_proc) then -
|
||||
shared_proc = f$extract(0, chop_semi, shared_proc)
|
||||
$ write libopt f$fao("UNIVERSAL=!AS",-
|
||||
f$edit(shared_proc,"upcase"))
|
||||
$ endif
|
||||
$ goto vmap_loop
|
||||
$VMAP_END:
|
||||
$ else
|
||||
$ write sys$output "Unknown Architecture (Not VAX, AXP, or IA64)"
|
||||
$ write sys$output "No options file created"
|
||||
$ endif
|
||||
$ endif
|
||||
$ EXIT_M2S:
|
||||
$ close/nolog map
|
||||
$ close/nolog libopt
|
||||
$ endsubroutine
|
||||
342
samples/DIGITAL Command Language/libxslt_build.com
Normal file
342
samples/DIGITAL Command Language/libxslt_build.com
Normal file
@@ -0,0 +1,342 @@
|
||||
$! BUILD_XSLT.COM
|
||||
$!
|
||||
$! Build the XSLT library
|
||||
$!
|
||||
$! Arguments:
|
||||
$!
|
||||
$! p1 - "DEBUG" is you want to build with debug
|
||||
$!
|
||||
$! This package requires libxml to have already been installed. You need
|
||||
$! to ensure that the logical name LIBXML is defined and points to the
|
||||
$! directory containing libxml's .h files
|
||||
$!
|
||||
$! This procedure creates the object libraries
|
||||
$!
|
||||
$! XML_LIBDIR:LIBXSLT.OLB
|
||||
$! XML_LIBDIR:LIBEXSLT.OLB
|
||||
$!
|
||||
$! and the program
|
||||
$!
|
||||
$! XSLTPROC
|
||||
$!
|
||||
$! After the library is built, you can link these routines into
|
||||
$! your code with the command
|
||||
$!
|
||||
$! LINK your_modules,XML_LIBDIR:LIBEXSLT/LIB,LIBXSLT/LIBRARY,LIBXML/LIB
|
||||
$!
|
||||
$! Change History
|
||||
$! --------------
|
||||
$! Command file author : John A Fotheringham (jaf@jafsoft.com)
|
||||
$! Last update : 2 Nov 2001
|
||||
$!
|
||||
$!- configuration -------------------------------------------------------------
|
||||
$!
|
||||
$!- compile command.
|
||||
$!
|
||||
$ cc_opts = "/INCLUDE=([],XML_SRCDIR:,[-.libxslt])/NAMES=(SHORTENED)/FLOAT=IEEE/IEEE_MODE=DENORM_RESULTS"
|
||||
$!
|
||||
$ if p1.eqs."DEBUG"
|
||||
$ then
|
||||
$ debug = "Y"
|
||||
$ cc_command = "CC''cc_opts'/DEBUG/NOOPTIMIZE/LIST/SHOW=ALL"
|
||||
$ else
|
||||
$ debug = "N"
|
||||
$ cc_command = "CC''cc_opts'"
|
||||
$ endif
|
||||
$!
|
||||
$!- configure multiple build passes for each library. -------------------------
|
||||
$!
|
||||
$! For each pass:
|
||||
$!
|
||||
$! "libname" is the name of the library or module being created
|
||||
$!
|
||||
$! "progname" is the name of the program being created
|
||||
$!
|
||||
$! "src" is the list of sources to be built into the library or program
|
||||
$! - This should be compared to the definition of
|
||||
$! "<NAME>_la_SOURCES" in the MAKEFILE.IN file in
|
||||
$! corresponding directory.
|
||||
$!
|
||||
$ num_passes = 3 ! two libraries and a program
|
||||
$!
|
||||
$!- pass 1 - library LIBXSLT
|
||||
$!
|
||||
$ libname_1 = "LIBXSLT"
|
||||
$ h_file_1 = "xslt.h"
|
||||
$ progname_1 = ""
|
||||
$!
|
||||
$ ! see "libxslt_la_SOURCES" in [.libxslt]makefile.in
|
||||
$ src_1 = "xslt.c xsltutils.c pattern.c templates.c variables.c keys.c"
|
||||
$ src_1 = src_1 + " numbers.c extensions.c extra.c functions.c"
|
||||
$ src_1 = src_1 + " namespaces.c imports.c attributes.c documents.c"
|
||||
$ src_1 = src_1 + " preproc.c transform.c security.c"
|
||||
$!
|
||||
$!- pass 2 - library LIBEXSLT
|
||||
$!
|
||||
$ libname_2 = "LIBEXSLT"
|
||||
$ h_file_2 = "exslt.h"
|
||||
$ progname_2 = ""
|
||||
$!
|
||||
$ ! see "libexslt_la_SOURCES" in [.libexslt]makefile.in
|
||||
$ src_2 = "exslt.c common.c math.c sets.c functions.c strings.c date.c saxon.c dynamic.c"
|
||||
$!
|
||||
$!- pass 3 - program XSLTPROC
|
||||
$!
|
||||
$ libname_3 = ""
|
||||
$ h_file_3 = ""
|
||||
$ progname_3 = "XSLTPROC"
|
||||
$!
|
||||
$ ! see "xsltproc_SOURCES" in [.xsltproc]makefile.in
|
||||
$ src_3 = "xsltproc.c"
|
||||
$!
|
||||
$!- set up and check logicals -----------------------------------------------
|
||||
$!
|
||||
$! XML_LIBDIR - object library directory
|
||||
$! XML_SRCDIR - top-level build directory of libxml package -- needed for config.h and trio.h
|
||||
$! LIBXML - source directory containing .h files for libxml package
|
||||
$!
|
||||
$ if f$trnlnm("XML_LIBDIR").eqs.""
|
||||
$ then
|
||||
$ on error then continue
|
||||
$ globfile = f$search("[--...]libxml.olb")
|
||||
$ if globfile.eqs.""
|
||||
$ then
|
||||
$ write sys$output ""
|
||||
$ write sys$output " You need to define the XML_LIBDIR logical name to"
|
||||
$ write sys$output " point to the directory containing your object"
|
||||
$ write sys$output " libraries. This should already contain LIBXML.OLB"
|
||||
$ write sys$output " from the libxml package, and will be the directory"
|
||||
$ write sys$output " the new LIBXSLT.OLB library will be placed in"
|
||||
$ write sys$output ""
|
||||
$ exit
|
||||
$ else
|
||||
$ srcdir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY")
|
||||
$ define/process XML_LIBDIR "''srcdir'"
|
||||
$ write sys$output "Defining XML_LIBDIR as ""''srcdir'"""
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$ if f$trnlnm("libxml").eqs.""
|
||||
$ then
|
||||
$ ! look for globals.h in a directory installed paralle to this one
|
||||
$ on error then continue
|
||||
$ globfile = f$search("[--...]globals.h")
|
||||
$ if globfile.eqs.""
|
||||
$ then
|
||||
$ write sys$output ""
|
||||
$ write sys$output " You need to define a LIBXML logical directory to"
|
||||
$ write sys$output " point to the directory containing the .h files"
|
||||
$ write sys$output " for the libxml package"
|
||||
$ write sys$output ""
|
||||
$ exit
|
||||
$ else
|
||||
$ srcdir = f$element(0,"]",globfile)+ "]"
|
||||
$ define/process LIBXML "''srcdir'"
|
||||
$ write sys$output "Defining LIBXML as ""''srcdir'"""
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$ if f$trnlnm("XML_SRCDIR").eqs.""
|
||||
$ then
|
||||
$ globfile = f$search("[--...]globals.c")
|
||||
$ if globfile.eqs.""
|
||||
$ then
|
||||
$ write sys$output "Can't locate globals.c. You need to manually define a XML_SRCDIR logical"
|
||||
$ exit
|
||||
$ else
|
||||
$ srcdir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY")
|
||||
$ define/process XML_SRCDIR "''srcdir'"
|
||||
$ write sys$output "Defining XML_SRCDIR as ""''srcdir'"""
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$!- set up some working logicals -------------------
|
||||
$!
|
||||
$ pass_no = 1
|
||||
$ set_pass_logical:
|
||||
$!
|
||||
$ if pass_no.le.num_passes
|
||||
$ then
|
||||
$!
|
||||
$ Libname = libname_'pass_no'
|
||||
$ progname = progname_'pass_no'
|
||||
$ if libname.nes.""
|
||||
$ then
|
||||
$ logname = "''libname'_SRCDIR"
|
||||
$ else
|
||||
$ logname = "''progname'_SRCDIR"
|
||||
$ endif
|
||||
$ findfile = f$element(0," ",src_'pass_no')
|
||||
$!
|
||||
$!--- set up a source directory logical
|
||||
$!
|
||||
$ if f$trnlnm("''logname'").eqs.""
|
||||
$ then
|
||||
$ ! look for the target file in a parallel subdirectory
|
||||
$ globfile = f$search("[-...]''findfile'")
|
||||
$ if globfile.eqs.""
|
||||
$ then
|
||||
$ write sys$output "Can't locate ''findfile'. You need to manually define a ''logname' logical"
|
||||
$ exit
|
||||
$ else
|
||||
$ srcdir = f$element(0,"]",globfile)+ "]"
|
||||
$ define/process 'logname' "''srcdir'"
|
||||
$ write sys$output "Defining ''logname' as ""''srcdir'"""
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$!--- if it's a library, set up a logical pointing to the .h files
|
||||
$!
|
||||
$ if libname.nes.""
|
||||
$ then
|
||||
$ if f$trnlnm("''libname'").eqs.""
|
||||
$ then
|
||||
$ ! look for the target .h file in a parallel subdirectory
|
||||
$ h_file = h_file_'pass_no'
|
||||
$ globfile = f$search("[-...]''h_file'")
|
||||
$ if globfile.eqs.""
|
||||
$ then
|
||||
$ write sys$output "Can't locate ''h_file'. You need to manually define a ''libname' logical"
|
||||
$ exit
|
||||
$ else
|
||||
$ includedir = f$element(0,"]",globfile)+ "]"
|
||||
$ define/process 'libname' "''includedir'"
|
||||
$ write sys$output "Defining ''libname' as ""''includedir'"""
|
||||
$ endif
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$ pass_no = pass_no +1
|
||||
$ goto set_pass_logical
|
||||
$!
|
||||
$ endif ! for each pass
|
||||
$!
|
||||
$!- set up error handling (such as it is) -------------------------------------
|
||||
$!
|
||||
$ exit_status = 1
|
||||
$ saved_default = f$environment("default")
|
||||
$ on error then goto ERROR_OUT
|
||||
$ on control_y then goto ERROR_OUT
|
||||
$!
|
||||
$ goto start_here
|
||||
$ start_here: ! move this line to debug/rerun parts of this command file
|
||||
$!
|
||||
$!- compile modules into the library ------------------------------------------
|
||||
$!
|
||||
$!
|
||||
$ pass_no = 1 ! make three passes, one for each library, one for XSLTPROC
|
||||
$ pass_loop:
|
||||
$!
|
||||
$ if pass_no.le.num_passes
|
||||
$ then
|
||||
$ Libname = libname_'pass_no'
|
||||
$ progname = progname_'pass_no'
|
||||
$ if libname.nes.""
|
||||
$ then
|
||||
$ logname = "''libname'_SRCDIR"
|
||||
$ pass_description = "the XML_LIBDIR:''libname'.OLB object library"
|
||||
$ else
|
||||
$ logname = "''progname'_SRCDIR"
|
||||
$ pass_description = "the programs in ''progname'"
|
||||
$ endif
|
||||
$ src = src_'pass_no'
|
||||
$!
|
||||
$!- create the library if need
|
||||
$!
|
||||
$ if libname.nes.""
|
||||
$ then
|
||||
$ if f$search("XML_LIBDIR:''libname'.OLB").eqs.""
|
||||
$ then
|
||||
$ write sys$output "Creating new object library XML_LIBDIR:''libname'.OLB..."
|
||||
$ library/create XML_LIBDIR:'libname'.OLB
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$!- move to the source directory
|
||||
$!
|
||||
$ set def 'logname'
|
||||
$!
|
||||
$!- define the library and link commands (link command not used as is)
|
||||
$!
|
||||
$ if libname.nes.""
|
||||
$ then
|
||||
$ lib_command = "LIBRARY/REPLACE XML_LIBDIR:''libname'.OLB"
|
||||
$ link_command = ""
|
||||
$ else
|
||||
$ lib_command = ""
|
||||
$ link_command = "LINK"
|
||||
$ endif
|
||||
$!
|
||||
$ write sys$output ""
|
||||
$ write sys$output "Building ''pass_description'
|
||||
$ write sys$output ""
|
||||
$!
|
||||
$ s_no = 0
|
||||
$ src = f$edit(src,"COMPRESS")
|
||||
$!
|
||||
$ source_loop:
|
||||
$!
|
||||
$ next_source = f$element (S_no," ",src)
|
||||
$ if next_source.nes."" .and. next_source.nes." "
|
||||
$ then
|
||||
$ call build 'next_source'
|
||||
$ s_no = s_no + 1
|
||||
$ goto source_loop
|
||||
$ endif
|
||||
$!
|
||||
$ pass_no = pass_no + 1
|
||||
$ goto pass_loop
|
||||
$!
|
||||
$ endif ! for each pass
|
||||
$!
|
||||
$!- Th-th-th-th-th-that's all folks! ------------------------------------------
|
||||
$!
|
||||
$EXIT_OUT:
|
||||
$!
|
||||
$ set def 'saved_default
|
||||
$ exit 'exit_status
|
||||
$!
|
||||
$
|
||||
$ERROR_OUT:
|
||||
$ exit_status = $status
|
||||
$ write sys$output "''f$message(exit_status)'"
|
||||
$ goto EXIT_OUT
|
||||
$!
|
||||
$!- the BUILD subroutine. Compile then insert into library or link as required
|
||||
$!
|
||||
$BUILD: subroutine
|
||||
$ on warning then goto EXIT_BUILD
|
||||
$ source_file = p1
|
||||
$ name = f$element(0,".",source_file)
|
||||
$ object_file = f$fao("XML_LIBDIR:!AS.OBJ",name)
|
||||
$!
|
||||
$!- compile
|
||||
$ write sys$output "Compiling ",p1,p2,"..."
|
||||
$ cc_command /object='object_file 'source_file' 'p2'
|
||||
$!
|
||||
$!- insert into library if command defined
|
||||
$!
|
||||
$ if lib_command.nes.""
|
||||
$ then
|
||||
$ lib_command 'object_file'
|
||||
$ delete/nolog 'object_file';*
|
||||
$ endif
|
||||
$!
|
||||
$!- link module if command defined
|
||||
$!
|
||||
$ if link_command.nes.""
|
||||
$ then
|
||||
$ text = f$element(0,".",p1) ! lose the ".c"
|
||||
$ write sys$output "Linking ",text,"..."
|
||||
$ dbgopts = ""
|
||||
$ if debug then dbgopts = "/DEBUG"
|
||||
$ link_command'dbgopts' 'object_file',-
|
||||
XML_LIBDIR:libexslt/lib,-
|
||||
XML_LIBDIR:libxslt/lib,-
|
||||
XML_LIBDIR:libxml/library
|
||||
$ endif
|
||||
$!
|
||||
$EXIT_BUILD:
|
||||
$ exit $status
|
||||
$!
|
||||
$endsubroutine
|
||||
10
samples/DIGITAL Command Language/vmsbackup_build.com
Normal file
10
samples/DIGITAL Command Language/vmsbackup_build.com
Normal file
@@ -0,0 +1,10 @@
|
||||
$! Compiling with VAXC is said to work, but it requires the usual cruft
|
||||
$! (vaxcrtl and all), and to avoid hair we don't supply said cruft here.
|
||||
$ CC/DECC/PREFIX=all VMSBACKUP.C/DEFINE=(HAVE_MT_IOCTLS=0,HAVE_UNIXIO_H=1)
|
||||
$ CC/DECC/PREFIX=all DCLMAIN.C
|
||||
$! Probably we don't want match as it probably doesn't implement VMS-style
|
||||
$! matching, but I haven't looking into the issues yet.
|
||||
$ CC/DECC/PREFIX=all match
|
||||
$ LINK/exe=VMSBACKUP.EXE -
|
||||
vmsbackup.obj,dclmain.obj,match.obj,sys$input/opt
|
||||
identification="VMSBACKUP4.1.1"
|
||||
13
samples/DNS Zone/sample.arpa
Normal file
13
samples/DNS Zone/sample.arpa
Normal file
@@ -0,0 +1,13 @@
|
||||
$ORIGIN 0.0.0.c.2.1.0.3.0.0.2.1.e.f.f.3.ip6.arpa.
|
||||
$TTL 60
|
||||
@ IN SOA ns root (
|
||||
2002042901 ; SERIAL
|
||||
7200 ; REFRESH
|
||||
600 ; RETRY
|
||||
36000000 ; EXPIRE
|
||||
120 ; MINIMUM
|
||||
)
|
||||
|
||||
NS ns.example.com.
|
||||
|
||||
c.a.7.e.d.7.e.f.f.f.0.2.8.0.a.0 PTR sip01.example.com.
|
||||
12
samples/DNS Zone/sneaky.net.zone
Normal file
12
samples/DNS Zone/sneaky.net.zone
Normal file
@@ -0,0 +1,12 @@
|
||||
$TTL 3d
|
||||
@ IN SOA root.localhost. root.sneaky.net. (
|
||||
2015042907 ; serial
|
||||
3d ; refresh
|
||||
1h ; retry
|
||||
12d ; expire
|
||||
2h ; negative response TTL
|
||||
)
|
||||
IN NS root.localhost.
|
||||
IN NS localhost. ; secondary name server is preferably externally maintained
|
||||
|
||||
www IN A 3.141.59.26
|
||||
260
samples/Erlang/filenames/rebar.config
Normal file
260
samples/Erlang/filenames/rebar.config
Normal file
@@ -0,0 +1,260 @@
|
||||
%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
|
||||
%% ex: ts=4 sw=4 ft=erlang et
|
||||
%% This is a sample rebar.conf file that shows examples of some of rebar's
|
||||
%% options.
|
||||
|
||||
%% == Core ==
|
||||
|
||||
%% Extend list of always recursive commands
|
||||
{recursive_cmds, []}.
|
||||
|
||||
%% Check required ERTS or OTP release version
|
||||
{require_erts_vsn, ".*"}.
|
||||
{require_otp_vsn, ".*"}.
|
||||
{require_min_otp_vsn, ".*"}.
|
||||
|
||||
%% Additional library directories to add to the code path
|
||||
{lib_dirs, []}.
|
||||
|
||||
%% == Erlang Compiler ==
|
||||
|
||||
%% Erlang files to compile before the rest. Rebar automatically compiles
|
||||
%% parse_transforms and custom behaviours before anything other than the files
|
||||
%% in this list.
|
||||
{erl_first_files, ["src/mymib1.erl", "src/mymib2.erl"]}.
|
||||
|
||||
%% Erlang compiler options
|
||||
{erl_opts, [no_debug_info,
|
||||
{i, "myinclude"},
|
||||
{src_dirs, ["src", "src2", "src3"]},
|
||||
{platform_define,
|
||||
"(linux|solaris|freebsd|darwin)", 'HAVE_SENDFILE'},
|
||||
{platform_define, "(linux|freebsd)", 'BACKLOG', 128},
|
||||
{platform_define, "R13", 'old_inets'}]}.
|
||||
|
||||
%% MIB Options?
|
||||
{mib_opts, []}.
|
||||
|
||||
%% SNMP mibs to compile first?
|
||||
{mib_first_files, []}.
|
||||
|
||||
%% leex options
|
||||
{xrl_opts, []}.
|
||||
|
||||
%% leex files to compile first
|
||||
{xrl_first_files, []}.
|
||||
|
||||
%% yecc options
|
||||
{yrl_opts, []}.
|
||||
|
||||
%% yecc files to compile first
|
||||
{yrl_first_files, []}.
|
||||
|
||||
%% == EDoc ==
|
||||
|
||||
%% EDoc options
|
||||
{edoc_opts, []}.
|
||||
|
||||
%% == Port Compiler ==
|
||||
|
||||
%% Port compilation environment variables. See rebar_port_compiler.erl for
|
||||
%% more info. Default is `[]'
|
||||
{port_env, [{"CFLAGS", "$CFLAGS -Ifoo"},
|
||||
{"freebsd", "LDFLAGS", "$LDFLAGS -lfoo"}]}.
|
||||
|
||||
%% port_specs
|
||||
%% List of filenames or wildcards to be compiled. May also contain a tuple
|
||||
%% consisting of a regular expression to be applied against the system
|
||||
%% architecture as a filter.
|
||||
{port_specs, [{"priv/so_name.so", ["c_src/*.c"]},
|
||||
{"linux", "priv/hello_linux", ["c_src/hello_linux.c"]},
|
||||
{"linux", "priv/hello_linux", ["c_src/*.c"], [{env, []}]}]}.
|
||||
|
||||
%% == escriptize ==
|
||||
{escript_name, "application"}.
|
||||
{escript_incl_apps, []}.
|
||||
{escript_shebang, "#!/usr/bin/env escript\n"}.
|
||||
{escript_comment, "%%\n"}.
|
||||
{escript_emu_args, "%%! -pa application/application/ebin\n"}.
|
||||
|
||||
%% == LFE Compiler ==
|
||||
|
||||
%% LFE files to compile before the rest
|
||||
{lfe_first_files, []}.
|
||||
|
||||
%% Options for the LFE compiler: reuse {erl_opts, []}
|
||||
|
||||
%% == ErlyDTL Compiler ==
|
||||
|
||||
%% Options for the ErlyDTL compiler
|
||||
{erlydtl_opts, []}.
|
||||
|
||||
%% == Proto compiler ==
|
||||
{proto_opts, [
|
||||
{compiler, protobuffs},
|
||||
{src_dirs, ["src"]}
|
||||
]}.
|
||||
%% Available compilers for protocol buffer files (*.proto):
|
||||
%% protobuffs (default)
|
||||
%% gpb
|
||||
%% Optional src_dirs which is a list of directories where
|
||||
%% to look for .proto files, default is src
|
||||
|
||||
%% Options for the gpb protocol buffer compiler,
|
||||
%% if selected by the proto_compiler option
|
||||
{gpb_opts, []}.
|
||||
|
||||
%% == EUnit ==
|
||||
|
||||
%% Options for eunit:test()
|
||||
{eunit_opts, []}.
|
||||
|
||||
%% Additional compile options for eunit. erl_opts is also used
|
||||
{eunit_compile_opts, []}.
|
||||
|
||||
%% Same as erl_first_files, but used only when running 'eunit'
|
||||
{eunit_first_files, []}.
|
||||
|
||||
%% == Cover ==
|
||||
|
||||
%% Whether to enable coverage reporting. Default is `false'
|
||||
{cover_enabled, false}.
|
||||
|
||||
%% Whether to print coverage report to console. Default is `false'
|
||||
{cover_print_enabled, false}.
|
||||
|
||||
%% Whether to export coverage report to file. Default is `false'
|
||||
{cover_export_enabled, false}.
|
||||
|
||||
%% == Common Test ==
|
||||
|
||||
%% Override the default "test" directory in which SUITEs are located
|
||||
{ct_dir, "itest"}.
|
||||
|
||||
%% Override the default "logs" directory in which SUITEs are logged
|
||||
{ct_log_dir, "test/logs"}.
|
||||
|
||||
%% Option to pass extra parameters when launching Common Test
|
||||
{ct_extra_params, "-boot start_sasl -s myapp"}.
|
||||
|
||||
%% Option to use short names (i.e., -sname test) when starting ct
|
||||
{ct_use_short_names, true}.
|
||||
|
||||
%% == QuickCheck ==
|
||||
|
||||
%% If qc_mod is unspecified, rebar tries to detect Triq or EQC
|
||||
{qc_opts, [{qc_mod, module()}, Options]}.
|
||||
|
||||
%% Additional compile options for qc. erl_opts is also used
|
||||
{qc_compile_opts, []}.
|
||||
|
||||
%% Same as erl_first_files, but used only when running 'qc'
|
||||
{qc_first_files, []}.
|
||||
|
||||
%% == Cleanup ==
|
||||
|
||||
%% Which files to cleanup
|
||||
{clean_files, ["file", "file2"]}.
|
||||
|
||||
%% == OTP Applications ==
|
||||
|
||||
%% Enable validation of the OTP app module list. Default is 'true'
|
||||
{validate_app_modules, true}.
|
||||
|
||||
%% == Dependencies ==
|
||||
|
||||
%% Where to put any downloaded dependencies. Default is "deps"
|
||||
{deps_dir, "deps"}.
|
||||
|
||||
%% What dependencies we have, dependencies can be of 3 forms, an application
|
||||
%% name as an atom, eg. mochiweb, a name and a version (from the .app file), or
|
||||
%% an application name, a version and the SCM details on how to fetch it (SCM
|
||||
%% type, location and revision).
|
||||
%% Rebar currently supports git, hg, bzr, svn, rsync, fossil, and p4.
|
||||
{deps, [app_name,
|
||||
{rebar, "1.0.*"},
|
||||
{rebar, ".*",
|
||||
{git, "git://github.com/rebar/rebar.git"}},
|
||||
{rebar, ".*",
|
||||
{git, "git://github.com/rebar/rebar.git", "Rev"}},
|
||||
{rebar, "1.0.*",
|
||||
{git, "git://github.com/rebar/rebar.git", {branch, "master"}}},
|
||||
{rebar, "1.0.0",
|
||||
{git, "git://github.com/rebar/rebar.git", {tag, "1.0.0"}}},
|
||||
%% Dependencies can be marked as 'raw'. Rebar does not require
|
||||
%% such dependencies to have a standard Erlang/OTP layout
|
||||
%% which assumes the presence of either
|
||||
%% "src/dependency_name.app.src" or "ebin/dependency_name.app"
|
||||
%% files.
|
||||
%%
|
||||
%% 'raw' dependencies can still contain 'rebar.config' and
|
||||
%% even can have the proper OTP directory layout, but they
|
||||
%% won't be compiled.
|
||||
%%
|
||||
%% Only a subset of rebar commands will be executed on the
|
||||
%% 'raw' subdirectories: get-deps, update-deps, check-deps,
|
||||
%% list-deps and delete-deps.
|
||||
{rebar, "",
|
||||
{git, "git://github.com/rebar/rebar.git", {branch, "master"}},
|
||||
[raw]},
|
||||
{app_name, ".*", {hg, "https://www.example.org/url"}},
|
||||
{app_name, ".*", {rsync, "Url"}},
|
||||
{app_name, ".*", {svn, "https://www.example.org/url"}},
|
||||
{app_name, ".*", {svn, "svn://svn.example.org/url"}},
|
||||
{app_name, ".*", {bzr, "https://www.example.org/url", "Rev"}},
|
||||
{app_name, ".*", {fossil, "https://www.example.org/url"}},
|
||||
{app_name, ".*", {fossil, "https://www.example.org/url", "Vsn"}},
|
||||
{app_name, ".*", {p4, "//depot/subdir/app_dir"}}]}.
|
||||
|
||||
%% == Subdirectories ==
|
||||
|
||||
%% Subdirectories?
|
||||
{sub_dirs, ["dir1", "dir2"]}.
|
||||
|
||||
%% == Plugins ==
|
||||
|
||||
%% Plugins you wish to include.
|
||||
%% These can include any module on the code path, including deps.
|
||||
%% Alternatively, plugins can be placed as source files in the plugin_dir, in
|
||||
%% which case they will be compiled and loaded dynamically at runtime.
|
||||
{plugins, [plugin1, plugin2]}.
|
||||
|
||||
%% Override the directory in which plugin sources can be found.
|
||||
%% Defaults to ./plugins
|
||||
{plugin_dir, "some_other_directory"}.
|
||||
|
||||
|
||||
%% == Pre/Post Command Hooks ==
|
||||
|
||||
{pre_hooks, [{clean, "./prepare_package_files.sh"},
|
||||
{"linux", compile, "c_src/build_linux.sh"},
|
||||
{compile, "escript generate_headers"},
|
||||
{compile, "escript check_headers"}]}.
|
||||
|
||||
{post_hooks, [{clean, "touch file1.out"},
|
||||
{"freebsd", compile, "c_src/freebsd_tweaks.sh"},
|
||||
{eunit, "touch file2.out"},
|
||||
{compile, "touch postcompile.out"}]}.
|
||||
|
||||
%% == xref ==
|
||||
|
||||
{xref_warnings, false}.
|
||||
|
||||
%% optional extra paths to include in xref:set_library_path/2.
|
||||
%% specified relative location of rebar.config.
|
||||
%% e.g. {xref_extra_paths,["../gtknode/src"]}
|
||||
{xref_extra_paths,[]}.
|
||||
|
||||
%% xref checks to run
|
||||
{xref_checks, [undefined_function_calls, undefined_functions,
|
||||
locals_not_used, exports_not_used,
|
||||
deprecated_function_calls, deprecated_functions]}.
|
||||
|
||||
%% Optional custom xref queries (xref manual has details) specified as
|
||||
%% {xref_queries, [{query_string(), expected_query_result()},...]}
|
||||
%% The following for example removes all references to mod:*foo/4
|
||||
%% functions from undefined external function calls as those are in a
|
||||
%% generated module
|
||||
{xref_queries,
|
||||
[{"(XC - UC) || (XU - X - B"
|
||||
" - (\"mod\":\".*foo\"/\"4\"))",[]}]}.
|
||||
158
samples/Erlang/filenames/rebar.config.lock
Normal file
158
samples/Erlang/filenames/rebar.config.lock
Normal file
@@ -0,0 +1,158 @@
|
||||
%% THIS FILE IS GENERATED. DO NOT EDIT IT MANUALLY %%
|
||||
|
||||
{sub_dirs,["rel","apps/riak"]}.
|
||||
{require_otp_vsn,"R16|17"}.
|
||||
{cover_enabled,true}.
|
||||
{lib_dirs,["apps/riak"]}.
|
||||
{erl_opts,[debug_info,fail_on_warning]}.
|
||||
{eunit_opts,[verbose]}.
|
||||
{erlydtl_opts,[{compiler_options,[report,return,debug_info]}]}.
|
||||
{deps,[{rebar_lock_deps_plugin,".*",
|
||||
{git,"git://github.com/seth/rebar_lock_deps_plugin.git",
|
||||
"7a5835029c42b8138325405237ea7e8516a84800"}},
|
||||
{node_package,".*",
|
||||
{git,"git://github.com/basho/node_package.git",
|
||||
"a829631eccebe3c1d7657a0075584f55bf342977"}},
|
||||
{goldrush,".*",
|
||||
{git,"git://github.com/DeadZen/goldrush.git",
|
||||
"71e63212f12c25827e0c1b4198d37d5d018a7fec"}},
|
||||
{lager,".*",
|
||||
{git,"git://github.com/basho/lager.git",
|
||||
"b6b6cebcb27ccff8acc59ae775acebc2f52e4926"}},
|
||||
{syslog,".*",
|
||||
{git,"git://github.com/Vagabond/erlang-syslog.git",
|
||||
"918c9b453e0811b24f2c99b35b712b0ef9f29c7e"}},
|
||||
{lager_syslog,".*",
|
||||
{git,"git://github.com/basho/lager_syslog.git",
|
||||
"fa2e7e3daee0d0a59dadb820fd3381eac4a65770"}},
|
||||
{cluster_info,".*",
|
||||
{git,"git://github.com/basho/cluster_info.git",
|
||||
"e231144ca32dc83317be3360a4a259c73826b08a"}},
|
||||
{sidejob,".*",
|
||||
{git,"git://github.com/basho/sidejob.git",
|
||||
"c5aabba2d7daa80c340e110902bbcfcb552ccdcf"}},
|
||||
{erlang_js,".*",
|
||||
{git,"git://github.com/basho/erlang_js.git",
|
||||
"07467d899ab90a2b719ad19ab0be0048c1c8d873"}},
|
||||
{meck,".*",
|
||||
{git,"git://github.com/basho/meck.git",
|
||||
"dde759050eff19a1a80fd854d7375174b191665d"}},
|
||||
{getopt,".*",
|
||||
{git,"git://github.com/jcomellas/getopt.git",
|
||||
"659a28f4145bc9843598972854299dc4ea77e4cb"}},
|
||||
{neotoma,".*",
|
||||
{git,"git://github.com/seancribbs/neotoma.git",
|
||||
"760928ec8870da02eb11bccb501e2700925d06c6"}},
|
||||
{cuttlefish,".*",
|
||||
{git,"git://github.com/basho/cuttlefish.git",
|
||||
"c92c8325aeaea6b6ba7516bbd434f8e408f87d60"}},
|
||||
{bitcask,".*",
|
||||
{git,"git://github.com/basho/bitcask.git",
|
||||
"c74d0c43fdefdd435f7621ddf1fc2995b5bd123c"}},
|
||||
{eper,".*",
|
||||
{git,"git://github.com/basho/eper.git",
|
||||
"7222ecaebceb5422e74a9c1503043bbc6036f6b7"}},
|
||||
{edown,".*",
|
||||
{git,"git://github.com/uwiger/edown.git",
|
||||
"d62ec85281e451a46ba30045917c119d65b72a84"}},
|
||||
{sext,".*",
|
||||
{git,"git://github.com/basho/sext.git",
|
||||
"846b9cc22456287a572efd4c924203d77778670f"}},
|
||||
{poolboy,".*",
|
||||
{git,"git://github.com/basho/poolboy.git",
|
||||
"8bb45fbc715c5f493642a1cc572ec7017d0d5fa3"}},
|
||||
{basho_stats,".*",
|
||||
{git,"git://github.com/basho/basho_stats.git",
|
||||
"19c532af235ae675439d491b329c55c2f9b02deb"}},
|
||||
{riak_sysmon,".*",
|
||||
{git,"git://github.com/basho/riak_sysmon.git",
|
||||
"26a58bcaba96d07df885f7b3db4d4306f995ce14"}},
|
||||
{eleveldb,".*",
|
||||
{git,"git://github.com/basho/eleveldb.git",
|
||||
"0e4e4e7cf3ddc26523a77f853ea9409c1707b26c"}},
|
||||
{riak_ensemble,".*",
|
||||
{git,"git://github.com/basho/riak_ensemble",
|
||||
"78dc8f623353a212ca3cf12236d1e9ac824bde16"}},
|
||||
{pbkdf2,".*",
|
||||
{git,"git://github.com/basho/erlang-pbkdf2.git",
|
||||
"7076584f5377e98600a7e2cb81980b2992fb2f71"}},
|
||||
{parse_trans,".*",
|
||||
{git,"git://github.com/uwiger/parse_trans.git",
|
||||
"82cc00264aa1bad8fc5c0739b7541feb4a843432"}},
|
||||
{bear,".*",
|
||||
{git,"git://github.com/basho/bear.git",
|
||||
"da820a13c607c3f816ee8b83c587266da5389761"}},
|
||||
{folsom,".*",
|
||||
{git,"git://github.com/basho/folsom.git",
|
||||
"72944523b6467c9f7add5f1c96dd5020424a2681"}},
|
||||
{setup,".*",
|
||||
{git,"git://github.com/uwiger/setup.git",
|
||||
"51ee7c9f64d2bbe9dcbb58c278e8fbfd4d0ca5e2"}},
|
||||
{exometer_core,".*",
|
||||
{git,"git://github.com/basho/exometer_core.git",
|
||||
"b47a5d65d9500c2b8f6ccc50e34005503589ef77"}},
|
||||
{clique,".*",
|
||||
{git,"git://github.com/basho/clique.git",
|
||||
"3af4db8ea0f74aca42f6713446dcd5915c795a74"}},
|
||||
{riak_core,".*",
|
||||
{git,"git://github.com/basho/riak_core.git",
|
||||
"044c4e7f8dbfe8c49c45f2f7090adff4cd5aba50"}},
|
||||
{riak_pipe,".*",
|
||||
{git,"git://github.com/basho/riak_pipe.git",
|
||||
"3c0abc7ba301d57940c5a9c5de368b70429c28ff"}},
|
||||
{protobuffs,".*",
|
||||
{git,"git://github.com/basho/erlang_protobuffs.git",
|
||||
"f88fc3c6881687432ddd5546b3c7b08009dfb26f"}},
|
||||
{riak_pb,".*",
|
||||
{git,"git://github.com/basho/riak_pb.git",
|
||||
"78c50efa698f33f7d6ab1c7f5fa4666ec03b46b4"}},
|
||||
{mochiweb,".*",
|
||||
{git,"git://github.com/basho/mochiweb.git",
|
||||
"ade2a9b29a11034eb550c1d79b4f991bf5ca05ba"}},
|
||||
{webmachine,".*",
|
||||
{git,"git://github.com/basho/webmachine.git",
|
||||
"7677c240f4a7ed020f4bab48278224966bb42311"}},
|
||||
{riak_api,".*",
|
||||
{git,"git://github.com/basho/riak_api.git",
|
||||
"2781e66796903bc6847bffcf71a6ba7a05d69275"}},
|
||||
{riak_dt,".*",
|
||||
{git,"git://github.com/basho/riak_dt.git",
|
||||
"f7981d4ad7407ddc085f133f204dd71bf9d50c56"}},
|
||||
{eunit_formatters,".*",
|
||||
{git,"git://github.com/seancribbs/eunit_formatters",
|
||||
"96b6ced4d45ba641cbf2c8a8ae9b350dd300bc10"}},
|
||||
{riak_kv,".*",
|
||||
{git,"git://github.com/basho/riak_kv.git",
|
||||
"404619cb57574cd43e2dc0dc0453884ec6732a99"}},
|
||||
{merge_index,".*",
|
||||
{git,"git://github.com/basho/merge_index.git",
|
||||
"b701dde5c28956c3b629411e5ff7e50cbb5cb4b3"}},
|
||||
{riak_search,".*",
|
||||
{git,"git://github.com/basho/riak_search.git",
|
||||
"8fe4a8c020a74c52ee877bf6dd410824b4f79f8b"}},
|
||||
{erlydtl,".*",
|
||||
{git,"git://github.com/evanmiller/erlydtl.git",
|
||||
"d20b53f04837a1053ed18987f645cb60eae82453"}},
|
||||
{riak_control,".*",
|
||||
{git,"git://github.com/basho/riak_control.git",
|
||||
"09073ce672260e1ec0ba3999fabed7f319624ba1"}},
|
||||
{riaknostic,".*",
|
||||
{git,"git://github.com/basho/riaknostic.git",
|
||||
"101d95bddff4b70afcd1dd5442b8c6651887e0a4"}},
|
||||
{kvc,".*",
|
||||
{git,"git://github.com/etrepum/kvc.git",
|
||||
"5565fe51857747662410cc3c06362ebcf48a2f04"}},
|
||||
{ibrowse,".*",
|
||||
{git,"git://github.com/cmullaparthi/ibrowse.git",
|
||||
"e8ae353c16d4f0897abb9f80025b52925b974dd1"}},
|
||||
{yokozuna,".*",
|
||||
{git,"git://github.com/basho/yokozuna.git",
|
||||
"5868266b11f131d14c85495e50f899f3fe8158ba"}},
|
||||
{canola,".*",
|
||||
{git,"git://github.com/basho/canola.git",
|
||||
"9bdfee88fce20b3a01b7003696b53eb21913d6fb"}},
|
||||
{riak_auth_mods,".*",
|
||||
{git,"git://github.com/basho/riak_auth_mods.git",
|
||||
"31b8b30e6c215418522eaa615264ae9769a87410"}}]}.
|
||||
{plugins,[rebar_lock_deps_plugin]}.
|
||||
|
||||
16
samples/Erlang/filenames/rebar.lock
Normal file
16
samples/Erlang/filenames/rebar.lock
Normal file
@@ -0,0 +1,16 @@
|
||||
[{<<"goldrush">>,
|
||||
{git,"git://github.com/DeadZen/goldrush.git",
|
||||
{ref,"71e63212f12c25827e0c1b4198d37d5d018a7fec"}},
|
||||
1},
|
||||
{<<"riak_dt">>,
|
||||
{git,"git://github.com/helium/riak_dt.git",
|
||||
{ref,"15d66cb26c2028c1ad1271c359b1d5da213825c3"}},
|
||||
0},
|
||||
{<<"lager">>,
|
||||
{git,"git://github.com/basho/lager.git",
|
||||
{ref,"d33ccf3b69de09a628fe38b4d7981bb8671b8a4f"}},
|
||||
0},
|
||||
{<<"eleveldb">>,
|
||||
{git,"git://github.com/helium/eleveldb.git",
|
||||
{ref,"29a5360dc0365b3330dd0cd45b0b8166f3b854be"}},
|
||||
0}].
|
||||
919
samples/Formatted/long_seq.for
Normal file
919
samples/Formatted/long_seq.for
Normal file
@@ -0,0 +1,919 @@
|
||||
ACCEPTABLE LEFT PRIMERS
|
||||
1-based # self self hair- qual-
|
||||
# sequence start ln N GC% Tm any_th end_th pin lity
|
||||
0 tgctagctaggcgatgctag 411 20 0 55.00 60.028 23.16 23.16 38.59 0.028
|
||||
1 actgatacgcgatgctagct 476 20 0 50.00 59.957 17.69 1.35 0.00 0.043
|
||||
2 gatcgatgctagctaggcga 405 20 0 55.00 60.100 16.30 16.30 0.00 0.100
|
||||
3 tcgatcgatgctagctaggc 403 20 0 55.00 60.100 18.63 8.45 0.00 0.100
|
||||
4 tagctgatcgatcgtagcgg 565 20 0 55.00 60.101 25.02 17.36 0.00 0.101
|
||||
5 gctgactgatcgatcgatgc 113 20 0 55.00 59.826 24.08 17.09 35.21 0.174
|
||||
6 tatcatctctgcgcgatcga 361 20 0 50.00 59.747 22.07 1.72 38.48 0.253
|
||||
7 agctaggcgatgctagctag 415 20 0 55.00 59.742 17.46 17.46 41.54 0.258
|
||||
8 ctagctaggcgatgctagct 413 20 0 55.00 59.742 18.68 17.35 43.53 0.258
|
||||
9 ggcgatctagctagctgact 583 20 0 55.00 59.671 17.44 7.44 37.58 0.329
|
||||
10 tcgatgctagctaggcgatg 407 20 0 55.00 60.382 14.03 0.00 0.00 0.382
|
||||
11 gctgatcgatcgatgctagc 398 20 0 55.00 59.618 25.97 24.79 35.21 0.382
|
||||
12 gctagctgatcgatcgatgc 394 20 0 55.00 59.618 24.08 21.09 35.21 0.382
|
||||
13 atcatctctgcgcgatcgat 362 20 0 50.00 60.382 22.07 5.02 38.48 0.382
|
||||
14 gactgatacgcgatgctagc 475 20 0 55.00 59.551 8.61 8.61 0.00 0.449
|
||||
15 atcgatgctagctaggcgat 406 20 0 50.00 59.452 18.43 18.43 0.00 0.548
|
||||
16 gctagctgactgatacgcga 468 20 0 55.00 60.589 16.29 0.00 0.00 0.589
|
||||
17 agctagctgactgatacgcg 467 20 0 55.00 60.590 17.99 3.89 0.00 0.590
|
||||
18 atgctagctaggcgatgcta 410 20 0 50.00 59.375 10.59 8.91 0.00 0.625
|
||||
19 ctatcatctctgcgcgatcg 360 20 0 55.00 59.347 12.19 12.19 39.07 0.653
|
||||
20 gatgctagctaggcgatgct 409 20 0 55.00 60.668 7.01 7.53 0.00 0.668
|
||||
21 gctactatcatctctgcgcg 356 20 0 55.00 59.273 0.00 0.00 0.00 0.727
|
||||
22 cgtagcggcgatctagctag 577 20 0 60.00 60.791 15.64 15.64 37.58 0.791
|
||||
23 cggcgatctagctagctgac 582 20 0 60.00 61.003 14.84 7.25 38.70 1.003
|
||||
24 gctagctgatcgatcgtagc 563 20 0 55.00 58.995 23.70 23.70 0.00 1.005
|
||||
25 gatcgatcgatgtgcggcta 81 20 0 55.00 61.006 19.16 0.00 41.65 1.006
|
||||
26 atcgatcgatgtgcggctag 82 20 0 55.00 61.008 29.65 0.00 41.65 1.008
|
||||
27 gctgactgatacgcgatgc 472 19 0 57.89 60.025 0.00 0.00 0.00 1.025
|
||||
28 agctagctgatcatcgatgct 190 21 0 47.62 60.035 17.99 11.09 0.00 1.035
|
||||
29 gctagctagctgactgatcga 105 21 0 52.38 60.037 34.38 0.00 46.11 1.037
|
||||
30 tcatctctgcgcgatcgat 363 19 0 52.63 59.946 22.07 0.12 38.48 1.054
|
||||
31 atcatctctgcgcgatcga 362 19 0 52.63 59.946 22.07 1.72 38.48 1.054
|
||||
32 atcgatcgatgtgcggcta 82 19 0 52.63 59.945 29.65 0.00 41.65 1.055
|
||||
33 gtagcggcgatctagctagc 578 20 0 60.00 61.071 16.97 7.15 39.86 1.071
|
||||
34 gctagctgactgatcgatcg 109 20 0 55.00 58.924 16.84 13.89 0.00 1.076
|
||||
35 gctgatcgatcgatgtgcg 78 19 0 57.89 60.097 29.87 18.15 42.69 1.097
|
||||
36 tatcatctctgcgcgatcgat 361 21 0 47.62 60.172 22.07 11.47 38.48 1.172
|
||||
37 gctagctagctgatcgatcga 390 21 0 52.38 60.172 34.38 22.52 46.11 1.172
|
||||
38 gctagctagctgatcgatcga 70 21 0 52.38 60.172 34.38 22.52 46.11 1.172
|
||||
39 catctctgcgcgatcgatg 364 19 0 57.89 59.810 13.74 13.74 38.48 1.190
|
||||
40 tcgtagcggcgatctagcta 576 20 0 55.00 61.231 11.55 9.27 36.40 1.231
|
||||
41 actgatacgcgatgctagcta 476 21 0 47.62 59.765 17.69 3.08 0.00 1.235
|
||||
42 actgatcgatcgatgctagct 117 21 0 47.62 59.763 23.29 11.70 35.21 1.237
|
||||
43 agctagctgatcgatcgatgt 73 21 0 47.62 59.763 17.99 2.62 35.21 1.237
|
||||
44 tagcggcgatctagctagct 579 20 0 55.00 61.243 23.74 23.74 46.60 1.243
|
||||
45 cgtagcggcgatctagcta 577 19 0 57.89 59.729 11.55 9.27 37.58 1.271
|
||||
46 ctagctgatcgatcgtagcg 564 20 0 55.00 58.727 25.02 15.05 0.00 1.273
|
||||
47 tagcggcgatctagctagc 579 19 0 57.89 59.725 16.97 9.14 39.86 1.275
|
||||
48 catcgatcgatgcatgcatg 442 20 0 50.00 58.722 37.80 23.31 44.93 1.278
|
||||
49 tcatctctgcgcgatcgatg 363 20 0 55.00 61.279 18.01 18.01 38.48 1.279
|
||||
50 gctagctagctgatcgatcg 559 20 0 55.00 58.714 34.38 11.90 46.11 1.286
|
||||
51 gctagctagctgatcgatcg 390 20 0 55.00 58.714 34.38 11.90 46.11 1.286
|
||||
52 gctagctagctgatcgatcg 70 20 0 55.00 58.714 34.38 11.90 46.11 1.286
|
||||
53 agcatcggattagctagctga 3 21 0 47.62 59.689 28.29 20.88 0.00 1.311
|
||||
54 agctgatcgatcgtagcgg 566 19 0 57.89 60.315 25.02 17.36 0.00 1.315
|
||||
55 cggcgatctagctagctga 582 19 0 57.89 59.650 21.57 16.66 38.70 1.350
|
||||
56 ctagctgatcgatcgatgtgc 75 21 0 52.38 59.643 31.83 30.04 35.21 1.357
|
||||
57 gctagctgatcgatcgatgtg 74 21 0 52.38 59.643 12.06 6.93 35.21 1.357
|
||||
58 gctagctaggcgatgctagc 412 20 0 60.00 61.357 30.41 30.41 46.19 1.357
|
||||
59 tagctagctgactgatacgcg 466 21 0 52.38 60.373 28.29 3.89 0.00 1.373
|
||||
60 gctagctgactgatcgatcga 109 21 0 52.38 60.374 22.52 22.52 0.00 1.374
|
||||
61 agctagctgactgatcgatcg 108 21 0 52.38 60.374 17.99 13.89 0.00 1.374
|
||||
62 cgatcgatgctagctaggcg 404 20 0 60.00 61.409 15.59 9.14 0.00 1.409
|
||||
63 gctagctagctgactgatcg 105 20 0 55.00 58.563 34.38 1.84 46.11 1.437
|
||||
64 atgctagctaggcgatgct 410 19 0 52.63 59.561 10.59 7.53 0.00 1.439
|
||||
65 agctagctgatcgatcgtagc 562 21 0 52.38 60.441 26.87 26.87 0.00 1.441
|
||||
66 gctagctagctgatcgatcgt 559 21 0 52.38 60.441 34.38 2.65 46.11 1.441
|
||||
67 tagctaggcgatgctagctag 414 21 0 52.38 59.559 18.42 17.46 42.44 1.441
|
||||
68 ctagctaggcgatgctagcta 413 21 0 52.38 59.559 18.69 17.64 42.44 1.441
|
||||
69 tagctgatcgatcgatgtgc 76 20 0 50.00 58.558 31.83 30.04 35.21 1.442
|
||||
70 gatgctagctaggcgatgcta 409 21 0 52.38 60.444 9.82 8.91 0.00 1.444
|
||||
71 atgctagctaggcgatgctag 410 21 0 52.38 60.444 23.16 23.16 38.59 1.444
|
||||
72 gctagctgatcatcgatgct 191 20 0 50.00 58.539 16.29 12.14 0.00 1.461
|
||||
73 agctagctgatcatcgatgc 190 20 0 50.00 58.539 21.42 9.22 0.00 1.461
|
||||
74 gctgactgatacgcgatgct 472 20 0 55.00 61.494 2.33 0.00 0.00 1.494
|
||||
75 agctgactgatacgcgatgc 471 20 0 55.00 61.494 3.47 0.00 0.00 1.494
|
||||
76 ggcgatctagctagctgacta 583 21 0 52.38 59.491 17.44 5.40 37.58 1.509
|
||||
77 gatcgatgctagctaggcgat 405 21 0 52.38 60.510 21.61 21.61 0.00 1.510
|
||||
78 atcgatcgatgctagctaggc 402 21 0 52.38 60.510 29.65 8.45 33.56 1.510
|
||||
79 ctgatcgatcgatgtgcgg 79 19 0 57.89 59.447 15.54 5.83 41.65 1.553
|
||||
80 agctgatcgatcgatgtgcg 77 20 0 55.00 61.556 31.92 20.26 42.69 1.556
|
||||
81 cgatcatcgatgctagctagc 548 21 0 52.38 59.444 34.89 34.89 46.99 1.556
|
||||
82 tagctaggcgatgctagcta 414 20 0 50.00 58.433 19.37 17.81 42.44 1.567
|
||||
83 agctagctactgatcgatgct 303 21 0 47.62 59.415 17.56 11.51 0.00 1.585
|
||||
84 tcgatcgatgtgcggctag 83 19 0 57.89 60.606 18.63 0.00 41.65 1.606
|
||||
85 gactgatcgatcgatgctagc 116 21 0 52.38 59.378 15.86 8.45 35.21 1.622
|
||||
86 agctagctgactgatcgatca 260 21 0 47.62 59.347 26.99 26.99 35.44 1.653
|
||||
87 ctgactgatacgcgatgctag 473 21 0 52.38 59.312 1.70 0.00 0.00 1.688
|
||||
88 ctagctgactgatacgcgatg 469 21 0 52.38 59.312 0.00 0.00 0.00 1.688
|
||||
89 gctactatcatctctgcgcga 356 21 0 52.38 60.707 2.71 2.71 0.00 1.707
|
||||
90 agctactatcatctctgcgcg 355 21 0 52.38 60.709 0.00 0.00 0.00 1.709
|
||||
91 actatcatctctgcgcgatc 359 20 0 50.00 58.270 4.99 0.00 0.00 1.730
|
||||
92 actgatcgatcgatgctagc 117 20 0 50.00 58.270 23.29 13.61 35.21 1.730
|
||||
93 gctagctgatcgatcgatgt 74 20 0 50.00 58.270 14.29 2.62 35.21 1.730
|
||||
94 ctatcatctctgcgcgatcga 360 21 0 52.38 60.771 22.07 1.72 38.48 1.771
|
||||
95 atcgatgctagctaggcgatg 406 21 0 52.38 60.779 21.16 4.37 0.00 1.779
|
||||
96 tgactgatacgcgatgctag 474 20 0 50.00 58.207 1.70 0.00 0.00 1.793
|
||||
97 ctgactgatacgcgatgcta 473 20 0 50.00 58.207 2.33 0.00 0.00 1.793
|
||||
98 tagctgactgatacgcgatg 470 20 0 50.00 58.207 0.00 0.00 0.00 1.793
|
||||
99 ctgactgatcgatcgatgct 114 20 0 50.00 58.197 26.44 12.40 35.21 1.803
|
||||
100 agctgactgatcgatcgatg 112 20 0 50.00 58.197 23.05 13.21 35.21 1.803
|
||||
101 tcggattagctagctgatgc 7 20 0 50.00 58.176 17.46 17.46 40.05 1.824
|
||||
102 gcatcggattagctagctga 4 20 0 50.00 58.176 28.29 20.88 0.00 1.824
|
||||
103 agcatcggattagctagctg 3 20 0 50.00 58.171 28.29 10.80 0.00 1.829
|
||||
104 gatgctagctaggcgatgc 409 19 0 57.89 59.141 4.18 0.00 0.00 1.859
|
||||
105 ctgatacgcgatgctagctag 477 21 0 52.38 59.113 17.46 17.46 0.00 1.887
|
||||
106 gctagctgactgatacgcg 468 19 0 57.89 59.086 8.21 3.89 0.00 1.914
|
||||
107 ctctgcgcgatcgatgctag 367 20 0 60.00 61.946 21.94 18.16 38.48 1.946
|
||||
108 tctgcgcgatcgatgctag 368 19 0 57.89 60.966 21.94 18.16 38.48 1.966
|
||||
109 ctctgcgcgatcgatgcta 367 19 0 57.89 60.966 26.61 17.10 38.48 1.966
|
||||
110 cgatgctagctaggcgatgc 408 20 0 60.00 61.968 11.09 0.00 0.00 1.968
|
||||
111 gactgatacgcgatgctagct 475 21 0 52.38 60.975 17.69 1.35 0.00 1.975
|
||||
112 gctagctgactgatacgcgat 468 21 0 52.38 60.975 8.21 0.00 0.00 1.975
|
||||
113 tgatacgcgatgctagctag 478 20 0 50.00 57.994 17.46 17.46 0.00 2.006
|
||||
114 ctgatacgcgatgctagcta 477 20 0 50.00 57.994 17.69 3.08 0.00 2.006
|
||||
115 cgcgatcgatgctagctagc 372 20 0 60.00 62.011 34.89 34.89 43.67 2.011
|
||||
116 gcgcgatcgatgctagctag 371 20 0 60.00 62.011 21.66 17.46 38.48 2.011
|
||||
117 ctgatcgatcgatgctagct 399 20 0 50.00 57.983 19.70 2.01 35.21 2.017
|
||||
118 agctgatcgatcgatgctag 397 20 0 50.00 57.983 27.33 18.05 34.69 2.017
|
||||
119 ctagctgatcgatcgatgct 395 20 0 50.00 57.983 33.87 33.38 38.16 2.017
|
||||
120 agctagctgatcgatcgatg 393 20 0 50.00 57.983 21.99 11.03 35.21 2.017
|
||||
121 ctgatcgatcgatgctagct 118 20 0 50.00 57.983 19.70 2.01 35.21 2.017
|
||||
122 agctagctgatcgatcgatg 73 20 0 50.00 57.983 21.99 11.03 35.21 2.017
|
||||
123 catcggattagctagctgatgc 5 22 0 50.00 59.982 24.41 24.41 40.05 2.018
|
||||
124 gcatcggattagctagctgatg 4 22 0 50.00 59.982 27.81 27.81 33.28 2.018
|
||||
125 tcgatgctagctaggcgat 407 19 0 52.63 58.964 14.03 3.01 0.00 2.036
|
||||
126 atcgatgctagctaggcga 406 19 0 52.63 58.964 16.30 16.30 0.00 2.036
|
||||
127 actatcatctctgcgcgatcg 359 21 0 52.38 61.037 12.19 12.19 39.07 2.037
|
||||
128 gcgcgatcgatgctagcta 371 19 0 57.89 61.037 21.66 3.08 38.48 2.037
|
||||
129 gctgatcgatcgatgctagct 398 21 0 52.38 61.044 27.88 12.70 35.21 2.044
|
||||
130 agctgatcgatcgatgctagc 397 21 0 52.38 61.044 27.33 27.90 34.69 2.044
|
||||
131 gctagctgatcgatcgatgct 394 21 0 52.38 61.044 33.87 33.38 38.16 2.044
|
||||
132 agctagctgatcgatcgatgc 393 21 0 52.38 61.044 24.08 21.09 35.21 2.044
|
||||
133 cgcgatcgatgctagctag 372 19 0 57.89 58.947 22.07 17.46 38.48 2.053
|
||||
134 tcgtagcggcgatctagc 576 18 0 61.11 59.936 4.70 0.00 36.40 2.064
|
||||
135 cgtagcggcgatctagct 577 18 0 61.11 59.935 11.03 11.03 37.58 2.065
|
||||
136 gcggcgatctagctagct 581 18 0 61.11 59.933 23.74 23.74 38.05 2.067
|
||||
137 agcggcgatctagctagc 580 18 0 61.11 59.933 16.97 7.15 39.86 2.067
|
||||
138 ctagctgactgatacgcgat 469 20 0 50.00 57.918 1.43 0.00 0.00 2.082
|
||||
139 ctagctgatcgatcgtagcgg 564 21 0 57.14 61.096 20.31 16.15 0.00 2.096
|
||||
140 agctactatcatctctgcgc 355 20 0 50.00 57.898 0.00 0.00 0.00 2.102
|
||||
141 gctagctactgatcgatgct 304 20 0 50.00 57.898 11.51 11.51 0.00 2.102
|
||||
142 agctagctactgatcgatgc 303 20 0 50.00 57.898 17.56 1.76 0.00 2.102
|
||||
143 agcatcggattagctagctgat 3 22 0 45.45 60.108 17.84 15.13 0.00 2.108
|
||||
144 tgctagctaggcgatgcta 411 19 0 52.63 58.881 17.69 8.91 0.00 2.119
|
||||
145 aagcatcggattagctagctg 2 21 0 47.62 58.879 28.29 10.80 0.00 2.121
|
||||
146 tctgcgcgatcgatgcta 368 18 0 55.56 59.857 26.61 16.13 38.48 2.143
|
||||
147 cgatgctagctaggcgatg 408 19 0 57.89 58.856 11.09 0.00 0.00 2.144
|
||||
148 agctagctgatcatcgatgcta 190 22 0 45.45 59.845 17.99 13.09 0.00 2.155
|
||||
149 tagctagctgatcatcgatgct 189 22 0 45.45 59.845 16.29 15.30 0.00 2.155
|
||||
150 atcgatcgatgtgcggct 82 18 0 55.56 60.166 29.65 4.36 41.65 2.166
|
||||
151 gctagctgactgatcgatca 261 20 0 50.00 57.829 26.99 26.99 35.44 2.171
|
||||
152 tagctagctgactgatcgatcg 107 22 0 50.00 60.174 28.29 13.89 0.00 2.174
|
||||
153 agctgatcatcatcgatgct 515 20 0 45.00 57.788 11.25 0.72 40.32 2.212
|
||||
154 agctagctgactgatcgatcat 260 22 0 45.45 59.778 26.67 18.02 36.62 2.222
|
||||
155 tgactgatacgcgatgctagc 474 21 0 52.38 61.238 8.61 8.61 0.00 2.238
|
||||
156 gctgactgatacgcgatgcta 472 21 0 52.38 61.238 2.33 0.00 0.00 2.238
|
||||
157 tagctgactgatacgcgatgc 470 21 0 52.38 61.238 3.47 0.00 0.00 2.238
|
||||
158 tagctagctgatcgatcgtagc 561 22 0 50.00 60.238 26.87 26.87 0.00 2.238
|
||||
159 gctagctagctgatcgatcgta 559 22 0 50.00 60.238 34.38 3.07 46.11 2.238
|
||||
160 tgatcgatcgatgctagctagg 400 22 0 50.00 60.239 26.44 6.29 35.21 2.239
|
||||
161 gctgactgatcgatcgatgct 113 21 0 52.38 61.244 26.44 12.40 35.21 2.244
|
||||
162 agctgactgatcgatcgatgc 112 21 0 52.38 61.244 24.08 19.43 35.21 2.244
|
||||
163 gatcgatcgatgtgcggct 81 19 0 57.89 61.263 19.16 0.00 41.65 2.263
|
||||
164 gctgatcatcgatgctactagc 195 22 0 50.00 59.727 18.08 16.44 45.61 2.273
|
||||
165 gctagctgatcatcgatgctac 191 22 0 50.00 59.727 9.57 5.47 0.00 2.273
|
||||
166 gatcgatcgatgtgcggc 81 18 0 61.11 59.714 18.10 0.95 41.65 2.286
|
||||
167 ctagctagctgactgatacgc 465 21 0 52.38 58.703 14.90 0.00 0.00 2.297
|
||||
168 tagctgatcgatcgatgtgcg 76 21 0 52.38 61.299 31.92 20.26 42.69 2.299
|
||||
169 agctgatcgatcgatgtgc 77 19 0 52.63 58.698 31.83 30.04 35.21 2.302
|
||||
170 gctgatcatcatcgatgctagc 516 22 0 50.00 60.302 10.80 10.34 40.32 2.302
|
||||
171 gctagctgatcatcatcgatgc 512 22 0 50.00 60.302 21.42 7.40 40.32 2.302
|
||||
172 aagcatcggattagctagctga 2 22 0 45.45 60.306 28.29 20.88 0.00 2.306
|
||||
173 gatcgatcgtagcggcga 570 18 0 61.11 60.318 13.01 8.51 45.59 2.318
|
||||
174 atcggattagctagctgatgc 6 21 0 47.62 58.673 17.46 17.46 40.05 2.327
|
||||
175 gcatcggattagctagctgat 4 21 0 47.62 58.673 17.84 15.13 0.00 2.327
|
||||
176 gcggcgatctagctagctg 581 19 0 63.16 61.329 17.07 8.17 38.05 2.329
|
||||
177 tgctagtgatgcatgctagt 24 20 0 45.00 57.636 24.96 11.17 35.89 2.364
|
||||
178 ctactatcatctctgcgcga 357 20 0 50.00 57.636 2.71 2.71 0.00 2.364
|
||||
179 actagctagctgactgatacgc 464 22 0 50.00 60.368 21.52 0.00 0.00 2.368
|
||||
180 gctagctagctgatcatcga 187 20 0 50.00 57.613 34.38 0.24 46.11 2.387
|
||||
181 tctctgcgcgatcgatgcta 366 20 0 55.00 62.413 26.61 17.10 38.48 2.413
|
||||
182 tgatcgatcgatgctagctagt 119 22 0 45.45 59.586 26.44 5.69 35.21 2.414
|
||||
183 actgatcgatcgatgctagcta 117 22 0 45.45 59.586 23.29 7.65 35.21 2.414
|
||||
184 tagctagctgatcgatcgatgt 72 22 0 45.45 59.586 14.29 2.62 35.21 2.414
|
||||
185 agctaggcgatgctagcta 415 19 0 52.63 58.572 17.69 3.08 41.54 2.428
|
||||
186 tagctaggcgatgctagct 414 19 0 52.63 58.572 17.35 17.35 43.53 2.428
|
||||
187 gatcgatcgatgctagctagg 401 21 0 52.38 58.567 23.89 6.29 35.21 2.433
|
||||
188 gctagctagctgactgatcgat 105 22 0 50.00 60.434 34.38 0.00 46.11 2.434
|
||||
189 gatcgatgctagctaggcg 405 19 0 57.89 58.563 15.59 9.02 0.00 2.437
|
||||
190 cgatcgatgctagctaggc 404 19 0 57.89 58.563 14.87 8.45 0.00 2.437
|
||||
191 tagctagctgactgatacgc 466 20 0 50.00 57.549 28.29 0.00 0.00 2.451
|
||||
192 agctagctgactgatcgatc 260 20 0 50.00 57.536 19.32 19.32 0.00 2.464
|
||||
193 agctagctgactgatcgatc 108 20 0 50.00 57.536 19.32 19.32 0.00 2.464
|
||||
194 aaagcatcggattagctagctg 1 22 0 45.45 59.524 28.29 10.80 0.00 2.476
|
||||
195 gctgactgatcgatcatcatgc 265 22 0 50.00 60.493 25.66 25.12 41.77 2.493
|
||||
196 tagctactatcatctctgcgcg 354 22 0 50.00 60.495 0.00 0.00 0.00 2.495
|
||||
197 ctgatcgatcgatgtgcggc 79 20 0 60.00 62.497 15.54 4.15 41.65 2.497
|
||||
198 gctgatcgatcgatgtgcgg 78 20 0 60.00 62.497 29.87 22.23 41.65 2.497
|
||||
199 tcgtagcggcgatctagct 576 19 0 57.89 61.503 11.03 11.03 36.40 2.503
|
||||
200 agcggcgatctagctagct 580 19 0 57.89 61.519 23.74 23.74 42.96 2.519
|
||||
201 ctagctagctgatcatcgatgc 188 22 0 50.00 59.470 21.42 9.22 0.00 2.530
|
||||
202 gctagctagctgatcatcgatg 187 22 0 50.00 59.470 34.38 20.23 46.11 2.530
|
||||
203 tcatctctgcgcgatcga 363 18 0 55.56 59.468 22.07 0.00 38.48 2.532
|
||||
204 tcgatcgatgtgcggcta 83 18 0 55.56 59.465 18.63 0.00 41.65 2.535
|
||||
205 tgatcgatcgatgtgcggc 80 19 0 57.89 61.549 21.27 8.44 41.65 2.549
|
||||
206 ctagctaggcgatgctagctag 413 22 0 54.55 60.561 22.99 22.99 46.84 2.561
|
||||
207 gctagctagctgatcgatcgat 390 22 0 50.00 60.561 34.38 30.53 46.11 2.561
|
||||
208 gctagctagctgatcgatcgat 70 22 0 50.00 60.561 34.38 30.53 46.11 2.561
|
||||
209 ctgcgcgatcgatgctag 369 18 0 61.11 59.415 19.79 13.97 38.48 2.585
|
||||
210 aagcatcggattagctagct 2 20 0 45.00 57.413 23.74 23.74 0.00 2.587
|
||||
211 gctagctgatcatcgatgcta 191 21 0 47.62 58.410 16.61 13.09 0.00 2.590
|
||||
212 tagctagctgatcatcgatgc 189 21 0 47.62 58.410 21.42 9.22 0.00 2.590
|
||||
213 actgatacgcgatgctagc 476 19 0 52.63 58.407 8.61 8.61 0.00 2.593
|
||||
214 gctagctgactgatcgatcatc 261 22 0 50.00 59.406 23.93 21.92 36.62 2.594
|
||||
215 atcgatcgatgctagctagg 402 20 0 50.00 57.396 29.65 6.29 33.56 2.604
|
||||
216 atctctgcgcgatcgatgc 365 19 0 57.89 61.618 22.01 22.01 38.48 2.618
|
||||
217 tgatcgatcgtagcggcg 569 18 0 61.11 60.621 20.58 0.86 0.00 2.621
|
||||
218 atcatctctgcgcgatcgatg 362 21 0 52.38 61.633 18.01 18.01 38.48 2.633
|
||||
219 agctagctgatcgatcgtag 562 20 0 50.00 57.344 17.99 16.86 0.00 2.656
|
||||
220 ctagctagctgatcgatcgt 560 20 0 50.00 57.344 16.40 2.65 0.00 2.656
|
||||
221 gctagctgactgatcgatcat 261 21 0 47.62 58.339 26.67 18.02 36.62 2.661
|
||||
222 ctgatcgatcgtagcggcg 568 19 0 63.16 61.664 14.21 0.86 0.00 2.664
|
||||
223 ctgactgatacgcgatgct 473 19 0 52.63 58.330 2.33 0.00 0.00 2.670
|
||||
224 agctgactgatacgcgatg 471 19 0 52.63 58.330 0.00 0.00 0.00 2.670
|
||||
225 gctagctgatcgatcgtagcg 563 21 0 57.14 61.676 24.18 16.49 0.00 2.676
|
||||
226 ctagctgactgatcgatcga 110 20 0 50.00 57.276 22.52 22.52 0.00 2.724
|
||||
227 agctagctactgatcgatgcta 303 22 0 45.45 59.252 17.56 12.23 0.00 2.748
|
||||
228 tagctagctactgatcgatgct 302 22 0 45.45 59.252 27.80 11.51 0.00 2.748
|
||||
229 gactgatacgcgatgctagcta 475 22 0 50.00 60.751 17.69 3.08 0.00 2.751
|
||||
230 actgatacgcgatgctagctag 476 22 0 50.00 60.752 17.46 17.46 0.00 2.752
|
||||
231 gactgatcgatcgatgctagct 116 22 0 50.00 60.753 18.04 9.56 35.21 2.753
|
||||
232 gctagctgactgatcgatcgat 109 22 0 50.00 60.753 30.53 30.53 37.90 2.753
|
||||
233 tgcgcgatcgatgctagcta 370 20 0 55.00 62.756 26.61 9.85 38.48 2.756
|
||||
234 gcggcgatctagctagctga 581 20 0 60.00 62.765 21.57 16.66 38.70 2.765
|
||||
235 agcggcgatctagctagctg 580 20 0 60.00 62.771 17.07 8.17 44.87 2.771
|
||||
236 ctactatcatctctgcgcgatc 357 22 0 50.00 59.220 4.99 0.00 0.00 2.780
|
||||
237 tatcatctctgcgcgatcg 361 19 0 52.63 58.199 12.19 12.19 39.07 2.801
|
||||
238 tactatcatctctgcgcgatcg 358 22 0 50.00 60.811 12.19 12.19 39.07 2.811
|
||||
239 tagctagctgactgatcgatca 259 22 0 45.45 59.187 28.29 26.99 35.44 2.813
|
||||
240 gctgatcgatcgatgctagcta 398 22 0 50.00 60.816 27.88 12.57 35.21 2.816
|
||||
241 tagctgatcgatcgatgctagc 396 22 0 50.00 60.816 30.84 27.90 36.80 2.816
|
||||
242 gctagctgatcgatcgatgcta 394 22 0 50.00 60.816 34.11 32.56 36.80 2.816
|
||||
243 tagctagctgatcgatcgatgc 392 22 0 50.00 60.816 24.08 21.09 35.21 2.816
|
||||
244 gctaggcgatgctagctag 416 19 0 57.89 58.179 17.46 17.46 35.42 2.821
|
||||
245 ctagctaggcgatgctagc 413 19 0 57.89 58.179 18.68 9.44 36.95 2.821
|
||||
246 gctagctaggcgatgctag 412 19 0 57.89 58.179 23.16 23.16 38.59 2.821
|
||||
247 catctctgcgcgatcgatgc 364 20 0 60.00 62.823 22.01 22.01 38.48 2.823
|
||||
248 aaagcatcggattagctagct 1 21 0 42.86 58.168 23.74 23.74 0.00 2.832
|
||||
249 ctgactgatcgatcgatgctag 114 22 0 50.00 59.155 22.81 19.44 35.21 2.845
|
||||
250 ctagctgactgatcgatcgatg 110 22 0 50.00 59.155 23.05 13.21 35.21 2.845
|
||||
251 tactatcatctctgcgcgatc 358 21 0 47.62 58.155 4.99 0.00 0.00 2.845
|
||||
252 gctagctactgatcgatgctac 304 22 0 50.00 59.151 8.57 4.26 0.00 2.849
|
||||
253 ctactatcatctctgcgcgat 357 21 0 47.62 58.150 4.99 2.52 0.00 2.850
|
||||
254 agctgatcatcgatgctact 194 20 0 45.00 57.134 17.14 8.95 0.00 2.866
|
||||
255 gctagctagctgatcatcgat 187 21 0 47.62 58.132 34.38 0.00 46.11 2.868
|
||||
256 ctgatacgcgatgctagct 477 19 0 52.63 58.107 17.69 1.35 0.00 2.893
|
||||
257 ggcgatctagctagctgac 583 19 0 57.89 58.106 14.84 7.25 37.58 2.894
|
||||
258 tgactgatcgatcgatgctag 115 21 0 47.62 58.084 22.81 19.44 35.21 2.916
|
||||
259 ctgactgatcgatcgatgcta 114 21 0 47.62 58.084 26.44 14.64 35.21 2.916
|
||||
260 tagctgactgatcgatcgatg 111 21 0 47.62 58.084 23.05 13.21 35.21 2.916
|
||||
261 actgatcgatcatcatgctagc 269 22 0 45.45 59.071 26.67 8.61 41.77 2.929
|
||||
262 agctgactgatcgatcatca 264 20 0 45.00 57.064 26.49 26.49 39.98 2.936
|
||||
263 ctagctagctgatcgatcga 391 20 0 50.00 57.060 22.52 22.52 0.00 2.940
|
||||
264 ctagctagctgatcgatcga 71 20 0 50.00 57.060 22.52 22.52 0.00 2.940
|
||||
265 gatcgatcgatgtgcggctag 81 21 0 57.14 61.947 19.16 0.00 41.65 2.947
|
||||
266 tgctagctaggcgatgct 411 18 0 55.56 59.050 17.69 7.53 0.00 2.950
|
||||
267 gctgatcgatcgtagcggc 567 19 0 63.16 61.960 20.49 19.38 0.00 2.960
|
||||
268 cgatcgatgtgcggctag 84 18 0 61.11 59.032 10.82 0.00 41.65 2.968
|
||||
269 tgatcgatcgatgtgcggct 80 20 0 55.00 62.987 22.21 0.00 41.65 2.987
|
||||
270 ctgactgatcgatcatcatgct 266 22 0 45.45 59.004 20.99 6.82 41.77 2.996
|
||||
271 agctgactgatcgatcatcatg 264 22 0 45.45 59.004 22.70 19.51 41.77 2.996
|
||||
272 agctagctgactgatacgcga 467 21 0 52.38 62.000 17.99 0.00 0.00 3.000
|
||||
273 tgactgatcgatcgatgctagc 115 22 0 50.00 61.008 18.17 12.52 35.21 3.008
|
||||
274 gctgactgatcgatcgatgcta 113 22 0 50.00 61.008 26.44 14.64 35.21 3.008
|
||||
275 tagctgactgatcgatcgatgc 111 22 0 50.00 61.008 24.08 19.43 35.21 3.008
|
||||
276 agctagctgatcgatcgatgtg 73 22 0 50.00 61.010 17.99 6.93 35.21 3.010
|
||||
277 ctgatcgatcgatgctagctag 399 22 0 50.00 58.963 19.70 17.46 35.21 3.037
|
||||
278 ctagctgatcgatcgatgctag 395 22 0 50.00 58.963 37.86 37.86 43.17 3.037
|
||||
279 ctagctagctgatcgatcgatg 391 22 0 50.00 58.963 21.99 11.03 35.21 3.037
|
||||
280 ctgatcgatcgatgctagctag 118 22 0 50.00 58.963 19.70 17.46 35.21 3.037
|
||||
281 ctagctagctgatcgatcgatg 71 22 0 50.00 58.963 21.99 11.03 35.21 3.037
|
||||
282 gactgatcgatcatcatgctagc 268 23 0 47.83 60.053 24.51 9.03 41.77 3.053
|
||||
283 gctagtgatgcatgctagtagtg 25 23 0 47.83 59.929 24.96 10.54 0.00 3.071
|
||||
284 gctactatcatctctgcgcgat 356 22 0 50.00 61.073 4.99 2.52 0.00 3.073
|
||||
285 gtagcggcgatctagctag 578 19 0 57.89 57.903 15.64 15.64 37.58 3.097
|
||||
286 tgactgatcgatcatcatgct 267 21 0 42.86 57.900 26.79 12.28 41.77 3.100
|
||||
287 ctagctactatcatctctgcgc 353 22 0 50.00 58.892 0.00 0.00 0.00 3.108
|
||||
288 gctagctactatcatctctgcg 352 22 0 50.00 58.892 8.21 0.00 0.00 3.108
|
||||
289 ctagctagctactgatcgatgc 301 22 0 50.00 58.892 14.00 1.76 0.00 3.108
|
||||
290 gctagctagctactgatcgatg 300 22 0 50.00 58.892 34.38 7.78 46.11 3.108
|
||||
291 catcgatcgatgctagtatgct 325 22 0 45.45 58.885 37.80 10.02 44.93 3.115
|
||||
292 tgatcgatcgatgctagctag 400 21 0 47.62 57.879 26.44 17.46 35.21 3.121
|
||||
293 ctgatcgatcgatgctagcta 399 21 0 47.62 57.879 19.70 3.77 35.21 3.121
|
||||
294 tagctgatcgatcgatgctag 396 21 0 47.62 57.879 34.03 27.12 36.80 3.121
|
||||
295 ctagctgatcgatcgatgcta 395 21 0 47.62 57.879 34.11 32.56 36.80 3.121
|
||||
296 tagctagctgatcgatcgatg 392 21 0 47.62 57.879 21.99 11.03 35.21 3.121
|
||||
297 tgatcgatcgatgctagctag 119 21 0 47.62 57.879 26.44 17.46 35.21 3.121
|
||||
298 ctgatcgatcgatgctagcta 118 21 0 47.62 57.879 19.70 3.77 35.21 3.121
|
||||
299 tagctagctgatcgatcgatg 72 21 0 47.62 57.879 21.99 11.03 35.21 3.121
|
||||
300 gatcgatcgatgctagctagt 120 21 0 47.62 57.878 23.89 3.56 35.21 3.122
|
||||
301 ctatcatctctgcgcgatcgat 360 22 0 50.00 61.132 22.07 11.47 38.48 3.132
|
||||
302 tgatcgatcgtagcggcga 569 19 0 57.89 62.144 20.58 8.51 45.59 3.144
|
||||
303 tcgtagcggcgatctagctag 576 21 0 57.14 62.173 15.64 15.64 36.40 3.173
|
||||
304 tactagctagctgactgatacgc 463 23 0 47.83 60.176 13.17 0.00 0.00 3.176
|
||||
305 ctgatcatcatcgatgctagct 517 22 0 45.45 58.807 17.69 1.76 40.32 3.193
|
||||
306 agctgatcatcatcgatgctag 515 22 0 45.45 58.807 5.93 2.76 40.32 3.193
|
||||
307 ctagctgatcatcatcgatgct 513 22 0 45.45 58.807 14.14 8.34 40.32 3.193
|
||||
308 agctagctgatcatcatcgatg 511 22 0 45.45 58.807 20.23 20.23 41.48 3.193
|
||||
309 ctgatcgatcatcatgctagct 270 22 0 45.45 58.807 26.67 0.00 41.77 3.193
|
||||
310 ctagctgactgatcgatcgat 110 21 0 47.62 57.806 30.53 30.53 37.90 3.194
|
||||
311 ttagctagctgactgatcgatca 258 23 0 43.48 59.798 28.29 26.99 35.44 3.202
|
||||
312 tagctactatcatctctgcgc 354 21 0 47.62 57.798 0.00 0.00 0.00 3.202
|
||||
313 gctagctactgatcgatgcta 304 21 0 47.62 57.798 12.99 12.23 0.00 3.202
|
||||
314 tagctagctactgatcgatgc 302 21 0 47.62 57.798 27.80 1.76 0.00 3.202
|
||||
315 tctctgcgcgatcgatgc 366 18 0 61.11 61.229 22.01 22.01 38.48 3.229
|
||||
316 ctctgcgcgatcgatgct 367 18 0 61.11 61.232 26.61 0.00 38.48 3.232
|
||||
317 agctagctactatcatctctgcg 351 23 0 47.83 60.238 17.56 0.00 0.00 3.238
|
||||
318 ctagctagctactgatcgatgct 301 23 0 47.83 60.238 14.00 11.51 0.00 3.238
|
||||
319 ctgatcgatcgtagcggc 568 18 0 61.11 58.727 14.21 0.00 0.00 3.273
|
||||
320 gctgatcgatcgtagcgg 567 18 0 61.11 58.727 20.49 15.03 0.00 3.273
|
||||
321 agctaggcgatgctagct 415 18 0 55.56 58.725 17.69 13.00 39.84 3.275
|
||||
322 tgctagtgatgcatgctagtagt 24 23 0 43.48 60.302 24.96 12.98 35.89 3.302
|
||||
323 gcgcgatcgatgctagct 371 18 0 61.11 61.306 21.66 1.35 38.48 3.306
|
||||
324 tgatcatcatcgatgctagct 518 21 0 42.86 57.691 17.69 1.76 40.32 3.309
|
||||
325 agctgatcatcatcgatgcta 515 21 0 42.86 57.691 0.24 0.00 40.32 3.309
|
||||
326 tagctgatcatcatcgatgct 514 21 0 42.86 57.691 14.14 8.34 40.32 3.309
|
||||
327 tgatcgatcatcatgctagct 271 21 0 42.86 57.691 27.48 0.00 37.38 3.309
|
||||
328 ctagctagctgactgatacgcg 465 22 0 54.55 61.313 14.90 3.89 0.00 3.313
|
||||
329 tgctagtgatgcatgctagtag 24 22 0 45.45 58.673 24.96 19.76 35.89 3.327
|
||||
330 gctagtgatgcatgctagtagt 25 22 0 45.45 58.672 24.96 12.98 0.00 3.328
|
||||
331 tagctagctgatcatcgatgcta 189 23 0 43.48 59.671 17.82 15.89 0.00 3.329
|
||||
332 agctagctgactgatacgc 467 19 0 52.63 57.642 17.99 0.00 0.00 3.358
|
||||
333 tatcatctctgcgcgatcgatg 361 22 0 50.00 61.383 18.01 18.01 38.48 3.383
|
||||
334 agctgactgatcgatcatcat 264 21 0 42.86 57.616 26.31 18.90 41.77 3.384
|
||||
335 actagctagctgatcatcatcga 508 23 0 43.48 59.607 22.43 0.00 0.00 3.393
|
||||
336 tagctagctgactgatcgatcat 259 23 0 43.48 59.607 28.29 18.02 36.62 3.393
|
||||
337 gatgctagctaggcgatgctag 409 22 0 54.55 61.393 23.16 23.16 38.59 3.393
|
||||
338 cggcgatctagctagctgact 582 21 0 57.14 62.394 17.44 7.44 38.70 3.394
|
||||
339 ctagctagctgatcgatcgat 391 21 0 47.62 57.600 30.53 30.53 37.90 3.400
|
||||
340 ctagctagctgatcgatcgat 71 21 0 47.62 57.600 30.53 30.53 37.90 3.400
|
||||
341 actgatcgatcatcatgctagct 269 23 0 43.48 60.428 26.67 4.70 41.77 3.428
|
||||
342 ctagctagctgactgatcgatc 106 22 0 50.00 58.567 19.32 19.32 0.00 3.433
|
||||
343 ctgactgatcgatcatcatgc 266 21 0 47.62 57.562 20.99 12.19 41.77 3.438
|
||||
344 gctgactgatcgatcatcatg 265 21 0 47.62 57.562 22.70 19.51 41.77 3.438
|
||||
345 gatcgatcgatgctagctaggc 401 22 0 54.55 61.448 23.89 8.45 35.21 3.448
|
||||
346 gtgatgcatgctagtagtgatgt 29 23 0 43.48 59.551 11.60 0.00 0.00 3.449
|
||||
347 tgctagtgatgcatgctagta 24 21 0 42.86 57.546 24.96 21.25 35.89 3.454
|
||||
348 tagcggcgatctagctagctg 579 21 0 57.14 62.457 18.98 9.30 45.57 3.457
|
||||
349 gtagcggcgatctagctagct 578 21 0 57.14 62.458 23.74 23.74 46.60 3.458
|
||||
350 tagctgatcgatcgtagcg 565 19 0 52.63 57.539 25.02 11.96 0.00 3.461
|
||||
351 gctagctagctactgatcgat 300 21 0 47.62 57.517 34.38 0.00 46.11 3.483
|
||||
352 agctagctactgatcgatgctac 303 23 0 47.83 60.487 17.56 7.81 0.00 3.487
|
||||
353 atcgatcgatgctagtatgct 326 21 0 42.86 57.502 29.65 2.17 33.56 3.498
|
||||
354 agctactgatcgatgctacatc 307 22 0 45.45 58.484 7.41 0.00 37.97 3.516
|
||||
355 agtgatgcatgctagtagtga 28 21 0 42.86 57.471 0.00 0.00 0.00 3.529
|
||||
356 gactgatcgatcgatgctagcta 116 23 0 47.83 60.546 18.04 4.19 35.21 3.546
|
||||
357 ctgatcgatcgatgctagctagt 118 23 0 47.83 60.547 22.18 3.56 35.21 3.547
|
||||
358 actgatcgatcgatgctagctag 117 23 0 47.83 60.547 23.29 17.46 35.21 3.547
|
||||
359 ctagctagctgatcgatcgatgt 71 23 0 47.83 60.547 14.29 2.62 35.21 3.547
|
||||
360 catcgatcgatgctagtatgc 325 21 0 47.62 57.452 37.80 0.00 44.93 3.548
|
||||
361 tagctagctgactgatcgatc 259 21 0 47.62 57.451 28.29 19.32 0.00 3.549
|
||||
362 tagctagctgactgatcgatc 107 21 0 47.62 57.451 28.29 19.32 0.00 3.549
|
||||
363 ctagctagctgactgatcgat 106 21 0 47.62 57.445 14.90 0.00 0.00 3.555
|
||||
364 tcgatgctagctaggcga 407 18 0 55.56 58.427 15.59 13.52 0.00 3.573
|
||||
365 tgatcgatcgatgctagctagta 119 23 0 43.48 59.424 26.44 18.77 35.21 3.576
|
||||
366 ctgcgcgatcgatgctagc 369 19 0 63.16 62.586 20.26 12.12 38.48 3.586
|
||||
367 agctagctgatcatcatcgat 511 21 0 42.86 57.405 17.99 0.00 0.00 3.595
|
||||
368 tgcgcgatcgatgctagc 370 18 0 61.11 61.605 26.61 17.77 38.48 3.605
|
||||
369 ctagctagctgatcgatcgtag 560 22 0 50.00 58.387 16.86 16.86 0.00 3.613
|
||||
370 actagctagctgactgatacg 464 21 0 47.62 57.384 21.52 2.77 0.00 3.616
|
||||
371 ctagctgactgatacgcga 469 19 0 52.63 57.370 16.29 0.00 0.00 3.630
|
||||
372 gctactagctagctgactgat 461 21 0 47.62 57.360 15.96 3.00 44.92 3.640
|
||||
373 ctgatcatcatcgatgctagc 517 21 0 47.62 57.358 8.61 8.61 40.32 3.642
|
||||
374 gctgatcatcatcgatgctag 516 21 0 47.62 57.358 5.93 2.76 40.32 3.642
|
||||
375 ctagctgatcatcatcgatgc 513 21 0 47.62 57.358 21.42 7.40 40.32 3.642
|
||||
376 gctagctgatcatcatcgatg 512 21 0 47.62 57.358 20.23 20.23 41.48 3.642
|
||||
377 ctgatcgatcatcatgctagc 270 21 0 47.62 57.358 26.67 8.61 41.77 3.642
|
||||
378 agctactgatcgatgctacat 307 21 0 42.86 57.344 7.41 0.00 0.00 3.656
|
||||
379 tgatcgatcgatgtgcggcta 80 21 0 52.38 62.663 22.21 0.24 41.65 3.663
|
||||
380 atctctgcgcgatcgatg 365 18 0 55.56 58.327 12.03 4.19 38.48 3.673
|
||||
381 catctctgcgcgatcgat 364 18 0 55.56 58.327 22.07 1.26 38.48 3.673
|
||||
382 atcatctctgcgcgatcg 362 18 0 55.56 58.327 12.19 12.19 39.07 3.673
|
||||
383 aagcatcggattagctagctgat 2 23 0 43.48 60.682 17.84 15.13 0.00 3.682
|
||||
384 agtgatgcatgctagtagtgatg 28 23 0 43.48 59.299 7.49 7.49 0.00 3.701
|
||||
385 gatcgatgctagctaggcgatg 405 22 0 54.55 61.702 24.26 6.24 0.00 3.702
|
||||
386 atctctgcgcgatcgatgcta 365 21 0 52.38 62.723 26.61 17.10 38.48 3.723
|
||||
387 tagctagctgactgatacgcga 466 22 0 50.00 61.730 28.29 0.00 0.00 3.730
|
||||
388 tagctagctgatcgatcgtag 561 21 0 47.62 57.269 16.86 16.86 0.00 3.731
|
||||
389 ctagctagctgatcgatcgta 560 21 0 47.62 57.269 11.68 3.07 0.00 3.731
|
||||
390 tcgatcgatgctagctagtag 122 21 0 47.62 57.269 18.63 2.63 0.00 3.731
|
||||
391 gctagctactgatcgatgctaca 304 23 0 47.83 60.734 11.21 0.06 0.00 3.734
|
||||
392 agctagctgactgatcgatcatc 260 23 0 47.83 60.736 23.93 21.92 36.62 3.736
|
||||
393 agctagctgactgatcgatcga 108 22 0 50.00 61.737 22.52 22.52 0.00 3.737
|
||||
394 tctctgcgcgatcgatgct 366 19 0 57.89 62.740 26.61 0.00 38.48 3.740
|
||||
395 tgatgcatgctagtagtgatgt 30 22 0 40.91 58.256 11.60 0.00 0.00 3.744
|
||||
396 tgatcgatcgatgtgcgg 80 18 0 55.56 58.244 21.27 0.00 41.65 3.756
|
||||
397 cgatcgatgctagctaggcga 404 21 0 57.14 62.770 16.30 16.30 0.00 3.770
|
||||
398 tcgatcgatgctagctaggcg 403 21 0 57.14 62.770 18.63 11.67 0.00 3.770
|
||||
399 atcgatcgatgcatgcatg 443 19 0 47.37 57.226 29.65 23.31 37.30 3.774
|
||||
400 catcgatcgatgcatgcat 442 19 0 47.37 57.226 37.80 33.45 44.93 3.774
|
||||
401 actagctagctgatcatcatcg 508 22 0 45.45 58.219 22.43 3.40 0.00 3.781
|
||||
402 ctgatcatcgatgctactagct 196 22 0 45.45 58.219 10.86 0.00 45.92 3.781
|
||||
403 agctgatcatcgatgctactag 194 22 0 45.45 58.219 13.67 9.68 0.00 3.781
|
||||
404 ctagctgatcatcgatgctact 192 22 0 45.45 58.219 14.85 7.80 0.00 3.781
|
||||
405 tttagctagctgactgatcga 257 21 0 42.86 57.216 0.38 0.00 0.00 3.784
|
||||
406 tagctagctgatcgatcgatgtg 72 23 0 47.83 60.793 10.14 4.94 35.21 3.793
|
||||
407 gctagctagctgatcatcatct 146 22 0 45.45 58.203 34.38 0.00 46.11 3.797
|
||||
408 ctagctagctgatcatcgatgct 188 23 0 47.83 60.799 16.29 15.30 0.00 3.799
|
||||
409 agctagctactatcatcgatcga 429 23 0 43.48 59.170 22.52 22.52 0.00 3.830
|
||||
410 ttagctagctgactgatcgatc 258 22 0 45.45 58.159 28.29 19.32 0.00 3.841
|
||||
411 ctagctgactgatcgatcatca 262 22 0 45.45 58.155 26.49 26.49 39.98 3.845
|
||||
412 aaagcatcggattagctagctga 1 23 0 43.48 60.870 28.29 20.88 0.00 3.870
|
||||
413 agctgactgatacgcgatgct 471 21 0 52.38 62.876 7.57 2.13 0.00 3.876
|
||||
414 tagctagctactgatcgatgcta 302 23 0 43.48 59.102 27.80 12.23 0.00 3.898
|
||||
415 tcatcatcgatgctagctagt 521 21 0 42.86 57.067 22.18 3.56 40.32 3.933
|
||||
416 tcgatcatcatgctagctact 274 21 0 42.86 57.067 0.00 0.00 0.00 3.933
|
||||
417 tgatcatcgatgctactagct 197 21 0 42.86 57.067 17.14 0.00 45.92 3.933
|
||||
418 agctgatcatcgatgctacta 194 21 0 42.86 57.067 17.14 4.89 0.00 3.933
|
||||
419 tagctgatcatcgatgctact 193 21 0 42.86 57.067 14.85 7.80 0.00 3.933
|
||||
420 tcgatcgatgctagtatgctag 327 22 0 45.45 58.044 18.63 13.77 46.09 3.956
|
||||
421 gcgatctagctagctgact 584 19 0 52.63 57.034 17.44 7.44 0.00 3.966
|
||||
422 gctactgatcgatgctacatc 308 21 0 47.62 57.028 2.44 0.00 37.97 3.972
|
||||
423 cggcgatctagctagctg 582 18 0 61.11 58.018 17.07 8.17 37.58 3.982
|
||||
424 gctagctgactgatcgatcatca 261 23 0 47.83 60.983 26.49 26.49 39.98 3.983
|
||||
425 actatcatctctgcgcgat 359 19 0 47.37 57.015 4.99 2.52 0.00 3.985
|
||||
426 catcggattagctagctgatg 5 21 0 47.62 57.003 23.69 23.29 0.00 3.997
|
||||
427 tagctgactgatcgatcatca 263 21 0 42.86 57.000 26.49 26.49 39.98 4.000
|
||||
428 actagctagctgatcatcatcgat 508 24 0 41.67 59.995 22.43 0.00 0.00 4.005
|
||||
429 agtgatgcatgctagtagtgat 28 22 0 40.91 57.984 0.00 0.00 0.00 4.016
|
||||
430 ctagctagctgatcatcatcga 509 22 0 45.45 57.958 11.68 0.00 0.00 4.042
|
||||
431 gctgatcatcgatgctactagct 195 23 0 47.83 61.046 20.91 5.24 45.92 4.046
|
||||
432 agctgatcatcgatgctactagc 194 23 0 47.83 61.046 20.78 20.78 45.61 4.046
|
||||
433 gctagctgatcatcgatgctact 191 23 0 47.83 61.046 12.59 8.92 0.00 4.046
|
||||
434 agctagctgatcatcgatgctac 190 23 0 47.83 61.046 17.99 7.99 0.00 4.046
|
||||
435 tagctagctactatcatctctgcg 350 24 0 45.83 60.058 27.80 0.00 0.00 4.058
|
||||
436 ctagctagctactgatcgatgcta 301 24 0 45.83 60.058 14.00 12.23 0.00 4.058
|
||||
437 agctactatcatctctgcgcga 355 22 0 50.00 62.058 2.71 2.71 0.00 4.058
|
||||
438 gctatttagctagctgactgatcg 253 24 0 45.83 60.060 7.27 0.00 46.11 4.060
|
||||
439 tgatcgatcatcatgctagctac 271 23 0 43.48 58.931 27.48 0.00 37.38 4.069
|
||||
440 gtgatgcatgctagtagtgatg 29 22 0 45.45 57.921 7.49 7.49 0.00 4.079
|
||||
441 ctagctagctgactgatcgatcg 106 23 0 52.17 61.091 16.84 13.89 0.00 4.091
|
||||
442 ctagctactgatcgatgctaca 305 22 0 45.45 57.898 13.79 1.61 0.00 4.102
|
||||
443 cggcgatctagctagctgacta 582 22 0 54.55 62.109 17.44 5.40 38.70 4.109
|
||||
444 atgctagctaggcgatgc 410 18 0 55.56 57.890 10.59 0.00 0.00 4.110
|
||||
445 ctgatcgatcatcatgctagctac 270 24 0 45.83 59.882 26.67 0.00 41.77 4.118
|
||||
446 gctactagctagctgatcatca 505 22 0 45.45 57.879 14.37 0.00 44.92 4.121
|
||||
447 gctactagctagctgatcatca 208 22 0 45.45 57.879 14.37 0.00 44.92 4.121
|
||||
448 ctgactgatacgcgatgctagc 473 22 0 54.55 62.128 8.61 8.61 0.00 4.128
|
||||
449 gctgactgatacgcgatgctag 472 22 0 54.55 62.128 1.70 0.00 0.00 4.128
|
||||
450 ctagctgactgatacgcgatgc 469 22 0 54.55 62.128 3.47 0.00 0.00 4.128
|
||||
451 gctagctgactgatacgcgatg 468 22 0 54.55 62.128 8.21 0.00 0.00 4.128
|
||||
452 tgactgatcgatcatcatgctag 267 23 0 43.48 58.866 26.79 18.40 41.77 4.134
|
||||
453 ctgactgatcgatcatcatgcta 266 23 0 43.48 58.866 20.99 8.89 41.77 4.134
|
||||
454 tagctgactgatcgatcatcatg 263 23 0 43.48 58.866 22.70 19.51 41.77 4.134
|
||||
455 ctagctagctgatcgatcgtagc 560 23 0 52.17 61.151 26.87 26.87 0.00 4.151
|
||||
456 gctagctagctgatcgatcgtag 559 23 0 52.17 61.151 34.38 16.86 46.11 4.151
|
||||
457 ctgatcgatcgatgctagctagg 399 23 0 52.17 61.158 22.67 6.29 35.21 4.158
|
||||
458 gatcgatcgatgctagctagtag 120 23 0 47.83 58.829 23.89 2.63 35.21 4.171
|
||||
459 ttagctagctgactgatcgatcat 258 24 0 41.67 60.177 28.29 18.02 36.62 4.177
|
||||
460 ctgactgatcgatcatcatgctag 266 24 0 45.83 59.822 20.99 12.80 41.77 4.178
|
||||
461 ctagctgactgatcgatcatcatg 262 24 0 45.83 59.822 22.70 19.51 41.77 4.178
|
||||
462 ctagctgatcgatcgatgtgcg 75 22 0 54.55 62.180 31.92 20.85 42.69 4.180
|
||||
463 tttagctagctgactgatcgatc 257 23 0 43.48 58.807 19.32 19.32 0.00 4.193
|
||||
464 tgactgatcgatcatcatgcta 267 22 0 40.91 57.803 26.79 13.11 41.77 4.197
|
||||
465 gctagctactatcatcgatcga 430 22 0 45.45 57.783 22.52 22.52 0.00 4.217
|
||||
466 gatcgatcgatgctagctagta 120 22 0 45.45 57.783 23.89 18.77 35.21 4.217
|
||||
467 agctagctactatcatcgatcg 429 22 0 45.45 57.777 17.56 9.87 0.00 4.223
|
||||
468 atcgatcgatgctagctagtag 121 22 0 45.45 57.777 29.65 2.63 33.56 4.223
|
||||
469 tgatcatcatcgatgctagctagt 518 24 0 41.67 60.238 22.18 3.56 40.32 4.238
|
||||
470 tgatcgatcatcatgctagctact 271 24 0 41.67 60.238 27.48 0.00 37.38 4.238
|
||||
471 actgatcgatcatcatgctagcta 269 24 0 41.67 60.238 26.67 2.76 41.77 4.238
|
||||
472 catcgatcgatgctagtatgcta 325 23 0 43.48 58.753 37.80 6.23 44.93 4.247
|
||||
473 tttagctagctgactgatcgat 257 22 0 40.91 57.736 0.38 0.00 0.00 4.264
|
||||
474 atttagctagctgactgatcga 256 22 0 40.91 57.736 4.16 0.00 0.00 4.264
|
||||
475 cgcgatcgatgctagcta 372 18 0 55.56 57.717 22.07 3.08 38.48 4.283
|
||||
476 catcgatcgatgctagtatgctag 325 24 0 45.83 59.708 37.80 16.01 44.93 4.292
|
||||
477 tagctagctactgatcgatgctac 302 24 0 45.83 60.297 27.80 7.81 0.00 4.297
|
||||
478 agcatcggattagctagctgatg 3 23 0 47.83 61.299 27.81 27.81 33.28 4.299
|
||||
479 agctagctgactgatacgcgat 467 22 0 50.00 62.317 17.99 0.00 0.00 4.317
|
||||
480 tgatcatcatcgatgctagctag 518 23 0 43.48 58.678 17.46 17.46 40.32 4.322
|
||||
481 ctgatcatcatcgatgctagcta 517 23 0 43.48 58.678 17.69 2.41 40.32 4.322
|
||||
482 tagctgatcatcatcgatgctag 514 23 0 43.48 58.678 9.90 2.76 40.32 4.322
|
||||
483 ctagctgatcatcatcgatgcta 513 23 0 43.48 58.678 14.58 9.63 40.32 4.322
|
||||
484 tagctagctgatcatcatcgatg 510 23 0 43.48 58.678 20.23 20.23 41.48 4.322
|
||||
485 ctgatcgatcatcatgctagcta 270 23 0 43.48 58.678 26.67 2.76 41.77 4.322
|
||||
486 gatcatcatcgatgctagctagt 519 23 0 43.48 58.677 22.18 3.56 40.32 4.323
|
||||
487 gatcgatcatcatgctagctact 272 23 0 43.48 58.677 21.11 0.00 0.00 4.323
|
||||
488 gctagctagctgactgatcgatc 105 23 0 52.17 61.341 34.38 19.32 46.11 4.341
|
||||
489 tgatcgatcgatgctagctagtag 119 24 0 45.83 60.356 26.44 2.63 35.21 4.356
|
||||
490 ctgatcgatcgatgctagctagta 118 24 0 45.83 60.356 22.18 18.77 35.21 4.356
|
||||
491 ctgatcatcatcgatgctagctag 517 24 0 45.83 59.644 17.46 17.46 40.32 4.356
|
||||
492 ctagctgatcatcatcgatgctag 513 24 0 45.83 59.644 19.54 18.30 42.07 4.356
|
||||
493 ctagctagctgatcatcatcgatg 509 24 0 45.83 59.644 20.23 20.23 41.48 4.356
|
||||
494 tttagctagctgactgatcgatca 257 24 0 41.67 60.358 26.99 26.99 35.44 4.358
|
||||
495 actatcatctctgcgcgatcga 359 22 0 50.00 62.365 22.07 1.72 38.48 4.365
|
||||
496 agctgatcgatcgtagcg 566 18 0 55.56 57.634 25.02 11.96 0.00 4.366
|
||||
497 gctactagctagctgactgatac 461 23 0 47.83 58.626 15.96 1.42 44.92 4.374
|
||||
498 agctgatcgatcgatgctagct 397 22 0 50.00 62.388 30.32 30.32 38.42 4.388
|
||||
499 agctagctgatcgatcgatgct 393 22 0 50.00 62.388 33.87 33.38 38.16 4.388
|
||||
500 ctagctgactgatcgatcatcat 262 23 0 43.48 58.612 26.31 20.43 41.77 4.388
|
||||
501 agctagctactatcatctctgc 351 22 0 45.45 57.608 17.56 0.00 0.00 4.392
|
||||
502 ctagctactatcatctctgcgcg 353 23 0 52.17 61.393 0.00 0.00 0.00 4.393
|
||||
503 tgatcatcatcgatgctagcta 518 22 0 40.91 57.602 17.69 3.08 40.32 4.398
|
||||
504 tagctgatcatcatcgatgcta 514 22 0 40.91 57.602 15.95 9.16 40.32 4.398
|
||||
505 tgatcgatcatcatgctagcta 271 22 0 40.91 57.602 27.48 3.08 37.38 4.398
|
||||
506 atcatcatcgatgctagctagt 520 22 0 40.91 57.595 22.18 3.56 40.32 4.405
|
||||
507 atcgatcatcatgctagctact 273 22 0 40.91 57.595 0.00 0.00 0.00 4.405
|
||||
508 agctagctactatcatcgatcgat 429 24 0 41.67 59.573 25.37 25.37 35.13 4.427
|
||||
509 gctagctgatcgatcgatgtgc 74 22 0 54.55 62.443 31.83 30.04 35.21 4.443
|
||||
510 tagctgactgatcgatcatcat 263 22 0 40.91 57.531 26.31 20.43 41.77 4.469
|
||||
511 tagctagctgactgatcgatcga 107 23 0 47.83 61.487 28.29 22.52 0.00 4.487
|
||||
512 atcgatcgatgctagtatgctag 326 23 0 43.48 58.501 29.65 13.77 46.09 4.499
|
||||
513 ctagtgatgcatgctagtagtga 26 23 0 43.48 58.483 20.00 1.46 0.00 4.517
|
||||
514 tagctagctgactgatcgatcatc 259 24 0 45.83 60.536 28.29 21.92 36.62 4.536
|
||||
515 tactagctagctgatcatcatcga 507 24 0 41.67 59.449 0.00 0.00 0.00 4.551
|
||||
516 gctagctagctactatcatcga 426 22 0 45.45 57.437 34.38 0.00 46.11 4.563
|
||||
517 tgactgatacgcgatgctagct 474 22 0 50.00 62.569 17.69 1.35 0.00 4.569
|
||||
518 agctgactgatacgcgatgcta 471 22 0 50.00 62.569 7.57 0.00 0.00 4.569
|
||||
519 tagctgactgatacgcgatgct 470 22 0 50.00 62.569 10.87 8.44 0.00 4.569
|
||||
520 atcgatcgatgctagtatgcta 326 22 0 40.91 57.423 29.65 0.00 33.56 4.577
|
||||
521 ctagctagctgatcatcatcgat 509 23 0 43.48 58.422 11.68 0.00 0.00 4.578
|
||||
522 agctgactgatcgatcgatgct 112 22 0 50.00 62.580 26.44 23.13 35.21 4.580
|
||||
523 ctagctagctgatcatcgatgcta 188 24 0 45.83 60.596 16.78 15.81 0.00 4.596
|
||||
524 gtgatgcatgctagtagtgatgta 29 24 0 41.67 59.398 11.60 8.84 0.00 4.602
|
||||
525 gctgatcatcatcgatgctagct 516 23 0 47.83 61.603 20.15 8.14 40.32 4.603
|
||||
526 agctgatcatcatcgatgctagc 515 23 0 47.83 61.603 20.04 19.26 40.32 4.603
|
||||
527 gctagctgatcatcatcgatgct 512 23 0 47.83 61.603 14.14 8.34 40.32 4.603
|
||||
528 agctagctgatcatcatcgatgc 511 23 0 47.83 61.603 21.42 7.40 40.32 4.603
|
||||
529 tagtgatgcatgctagtagtga 27 22 0 40.91 57.391 0.01 0.00 0.00 4.609
|
||||
530 ctactagctagctgactgatacg 462 23 0 47.83 58.387 3.12 0.00 0.00 4.613
|
||||
531 tagctactgatcgatgctacatc 306 23 0 43.48 58.368 13.79 0.00 37.97 4.632
|
||||
532 gactgatacgcgatgctagctag 475 23 0 52.17 61.633 17.46 17.46 0.00 4.633
|
||||
533 ctagctactgatcgatgctacat 305 23 0 43.48 58.364 13.79 0.09 0.00 4.636
|
||||
534 gctagctactatcatctctgcgc 352 23 0 52.17 61.644 8.21 0.00 0.00 4.644
|
||||
535 gctagctagctactgatcgatgc 300 23 0 52.17 61.644 34.38 12.71 46.11 4.644
|
||||
536 gctactagctagctgatcatcat 505 23 0 43.48 58.350 14.37 0.00 44.92 4.650
|
||||
537 gctactagctagctgatcatcat 208 23 0 43.48 58.350 14.37 0.00 44.92 4.650
|
||||
538 ctagctactgatcgatgctacatc 305 24 0 45.83 59.349 13.79 0.00 37.97 4.651
|
||||
539 gctactagctagctgatcatcatc 505 24 0 45.83 59.343 14.37 0.00 44.92 4.657
|
||||
540 gctactagctagctgatcatcatc 208 24 0 45.83 59.343 14.37 0.00 44.92 4.657
|
||||
541 gctgatcatcatctagctagtagc 154 24 0 45.83 59.343 15.25 15.25 45.79 4.657
|
||||
542 tagctagctgatcatcatcgat 510 22 0 40.91 57.329 10.14 0.00 0.00 4.671
|
||||
543 ctactatcatctctgcgcgatcg 357 23 0 52.17 61.686 12.19 12.19 39.07 4.686
|
||||
544 tactagctagctgactgatacg 463 22 0 45.45 57.310 13.17 0.00 0.00 4.690
|
||||
545 gctgatcgatcgatgctagctag 398 23 0 52.17 61.697 27.88 18.22 35.21 4.697
|
||||
546 ctagctgatcgatcgatgctagc 395 23 0 52.17 61.697 38.64 35.38 43.05 4.697
|
||||
547 gctagctgatcgatcgatgctag 394 23 0 52.17 61.697 41.07 41.07 46.89 4.697
|
||||
548 ctagctagctgatcgatcgatgc 391 23 0 52.17 61.697 24.08 21.09 35.21 4.697
|
||||
549 gctagctagctgatcgatcgatg 390 23 0 52.17 61.697 34.38 11.03 46.11 4.697
|
||||
550 gctagctagctgatcgatcgatg 70 23 0 52.17 61.697 34.38 11.03 46.11 4.697
|
||||
551 gctactagctagctgactgata 461 22 0 45.45 57.286 15.96 3.69 44.92 4.714
|
||||
552 gatcgatcatcatgctagctac 272 22 0 45.45 57.284 21.11 0.00 0.00 4.716
|
||||
553 cgatgctagctaggcgat 408 18 0 55.56 57.277 10.81 3.01 0.00 4.723
|
||||
554 atcgatgctagctaggcg 406 18 0 55.56 57.277 15.59 9.02 0.00 4.723
|
||||
555 tagctactgatcgatgctacat 306 22 0 40.91 57.270 13.79 0.09 0.00 4.730
|
||||
556 gctagctactatcatcgatcgat 430 23 0 43.48 58.251 25.37 25.37 35.13 4.749
|
||||
557 tgcatgctagtagtgatgtatacg 33 24 0 41.67 59.224 20.79 0.00 0.00 4.776
|
||||
558 gcatgctagtagtgatgtatacgt 34 24 0 41.67 59.223 11.60 0.00 0.00 4.777
|
||||
559 atttagctagctgactgatcgatc 256 24 0 41.67 59.219 19.32 19.32 0.00 4.781
|
||||
560 gactgatcgatcatcatgctag 268 22 0 45.45 57.215 24.51 15.87 41.77 4.785
|
||||
561 atttagctagctgactgatcgat 256 23 0 39.13 58.215 4.16 0.00 0.00 4.785
|
||||
562 gctgactgatcgatcatcatgct 265 23 0 47.83 61.788 27.72 15.10 41.77 4.788
|
||||
563 agctgactgatcgatcatcatgc 264 23 0 47.83 61.788 27.74 27.74 41.77 4.788
|
||||
564 tagctactatcatctctgcgcga 354 23 0 47.83 61.796 2.71 2.71 0.00 4.796
|
||||
565 gctgatcatcgatgctactagcta 195 24 0 45.83 60.834 20.91 7.37 45.92 4.834
|
||||
566 tagctgatcatcgatgctactagc 193 24 0 45.83 60.834 20.78 20.78 45.61 4.834
|
||||
567 gctagctgatcatcgatgctacta 191 24 0 45.83 60.834 11.65 8.83 0.00 4.834
|
||||
568 tagctagctgatcatcgatgctac 189 24 0 45.83 60.834 17.82 12.06 0.00 4.834
|
||||
569 tagtgatgcatgctagtagtgatg 27 24 0 41.67 59.155 11.56 7.49 0.00 4.845
|
||||
570 agtgatgcatgctagtagtgatgt 28 24 0 41.67 60.846 11.60 0.00 0.00 4.846
|
||||
571 tgatgcatgctagtagtgatgta 30 23 0 39.13 58.147 11.60 8.84 0.00 4.853
|
||||
572 ctgactgatcgatcgatgctagc 114 23 0 52.17 61.878 18.17 12.52 35.21 4.878
|
||||
573 gctgactgatcgatcgatgctag 113 23 0 52.17 61.878 22.81 19.44 35.21 4.878
|
||||
574 ctagctgactgatcgatcgatgc 110 23 0 52.17 61.878 24.08 19.43 35.21 4.878
|
||||
575 gctagctgactgatcgatcgatg 109 23 0 52.17 61.878 23.05 13.21 35.21 4.878
|
||||
576 tcatcatcgatgctagctagtag 521 23 0 43.48 58.114 2.81 0.00 40.32 4.886
|
||||
577 tactagctagctgatcatcatcg 507 23 0 43.48 58.114 0.00 0.00 0.00 4.886
|
||||
578 tcgatcatcatgctagctactag 274 23 0 43.48 58.114 0.00 0.00 37.62 4.886
|
||||
579 tgatcatcgatgctactagctag 197 23 0 43.48 58.114 20.04 20.04 45.92 4.886
|
||||
580 ctgatcatcgatgctactagcta 196 23 0 43.48 58.114 10.86 0.00 45.92 4.886
|
||||
581 tagctgatcatcgatgctactag 193 23 0 43.48 58.114 13.67 9.68 0.00 4.886
|
||||
582 ctagctgatcatcgatgctacta 192 23 0 43.48 58.114 11.65 8.83 0.00 4.886
|
||||
583 ctactagctagctgatcatcatcg 506 24 0 45.83 59.110 1.08 0.00 0.00 4.890
|
||||
584 ctgatcatcgatgctactagctag 196 24 0 45.83 59.110 20.04 20.04 45.92 4.890
|
||||
585 ctagctgatcatcgatgctactag 192 24 0 45.83 59.110 15.68 15.68 0.00 4.890
|
||||
586 gctagctagctgatcatcatctag 146 24 0 45.83 59.102 34.38 13.13 44.71 4.898
|
||||
587 gctagctagctgatcatcatcta 146 23 0 43.48 58.097 34.38 0.00 46.11 4.903
|
||||
588 ctagtgatgcatgctagtagtg 26 22 0 45.45 57.072 20.00 3.96 0.00 4.928
|
||||
589 gctactatcatctctgcgcgatc 356 23 0 52.17 61.936 4.99 0.00 0.00 4.936
|
||||
590 gctgatcgatcgatgtgc 78 18 0 55.56 57.052 29.71 26.38 35.21 4.948
|
||||
591 tagctagctactatcatcgatcga 428 24 0 41.67 59.031 27.80 22.52 0.00 4.969
|
||||
592 agctagctgatcgatcgtagcg 562 22 0 54.55 62.971 27.20 18.31 0.00 4.971
|
||||
593 tgactgatacgcgatgct 474 18 0 50.00 57.028 2.33 0.00 0.00 4.972
|
||||
594 gatcatcatcgatgctagctag 519 22 0 45.45 57.019 17.46 17.46 40.32 4.981
|
||||
595 tcatcatcgatgctagctagta 521 22 0 40.91 57.005 22.18 18.77 40.32 4.995
|
||||
596 tcgatcatcatgctagctacta 274 22 0 40.91 57.005 0.00 0.00 0.00 4.995
|
||||
597 tgatcatcgatgctactagcta 197 22 0 40.91 57.005 17.14 1.01 45.92 4.995
|
||||
598 tagctgatcatcgatgctacta 193 22 0 40.91 57.005 12.62 8.42 0.00 4.995
|
||||
599 tagctagctgactgatacgcgat 466 23 0 47.83 62.044 28.29 0.00 0.00 5.044
|
||||
600 ctagctagctactatcatcgatcga 427 25 0 44.00 59.949 27.80 22.52 0.00 5.051
|
||||
601 agctagctgactgatcgatcgat 108 23 0 47.83 62.053 30.53 30.53 37.90 5.053
|
||||
602 ctactagctagctgactgatacgc 462 24 0 50.00 61.062 3.61 0.00 0.00 5.062
|
||||
603 gctactagctagctgactgatacg 461 24 0 50.00 61.062 14.37 0.00 44.92 5.062
|
||||
604 tgatcatcatcgatgctagctagta 518 25 0 40.00 60.062 22.18 18.77 40.32 5.062
|
||||
605 tgatcgatcatcatgctagctacta 271 25 0 40.00 60.062 27.48 0.00 37.38 5.062
|
||||
606 ctagtgatgcatgctagtagtgatg 26 25 0 44.00 60.064 20.00 7.49 0.00 5.064
|
||||
607 gctagctagctactatcatcgatc 426 24 0 45.83 58.932 34.38 4.20 46.11 5.068
|
||||
608 gctagctactgatcgatgctacat 304 24 0 45.83 61.072 11.21 0.00 0.00 5.072
|
||||
609 gctagctagctactatcatcgat 426 23 0 43.48 57.922 34.38 0.00 46.11 5.078
|
||||
610 ctagtgatgcatgctagtagtgat 26 24 0 41.67 58.911 20.00 4.64 0.00 5.089
|
||||
611 tactatcatctctgcgcgatcga 358 23 0 47.83 62.092 22.07 1.72 38.48 5.092
|
||||
612 agctgatcgatcgatgctagcta 397 23 0 47.83 62.111 31.26 14.51 40.03 5.111
|
||||
613 tagctgatcgatcgatgctagct 396 23 0 47.83 62.111 33.22 33.22 42.08 5.111
|
||||
614 agctagctgatcgatcgatgcta 393 23 0 47.83 62.111 34.11 32.56 36.80 5.111
|
||||
615 tagctagctgatcgatcgatgct 392 23 0 47.83 62.111 33.87 33.38 38.16 5.111
|
||||
616 tagtgatgcatgctagtagtgat 27 23 0 39.13 57.886 11.56 0.00 0.00 5.114
|
||||
617 tactagctagctgatcatcatcgat 507 25 0 40.00 59.828 0.00 0.00 0.00 5.172
|
||||
618 gctagctagctgatcatcgatgc 187 23 0 52.17 62.193 34.38 9.22 46.11 5.193
|
||||
619 gctagtgatgcatgctagtagtga 25 24 0 45.83 61.195 24.96 4.57 0.00 5.195
|
||||
620 aaagcatcggattagctagctgat 1 24 0 41.67 61.209 17.84 15.13 0.00 5.209
|
||||
621 gtgatgcatgctagtagtgatgtat 29 25 0 40.00 59.774 1.07 1.07 0.00 5.226
|
||||
622 ctatcatctctgcgcgatcgatg 360 23 0 52.17 62.227 18.01 18.01 38.48 5.227
|
||||
623 tgactgatacgcgatgctagcta 474 23 0 47.83 62.287 17.69 3.08 0.00 5.287
|
||||
624 tagctgactgatacgcgatgcta 470 23 0 47.83 62.287 12.64 9.09 0.00 5.287
|
||||
625 tgctagtagtgatgtatacgtagct 37 25 0 40.00 59.713 9.37 8.73 0.00 5.287
|
||||
626 tgactgatcgatcgatgctagct 115 23 0 47.83 62.296 20.19 11.59 35.21 5.296
|
||||
627 agctgactgatcgatcgatgcta 112 23 0 47.83 62.296 26.44 14.64 35.21 5.296
|
||||
628 tagctgactgatcgatcgatgct 111 23 0 47.83 62.296 31.98 30.27 35.21 5.296
|
||||
629 ctagctagctactatcatcgatcg 427 24 0 45.83 58.703 12.49 9.87 0.00 5.297
|
||||
630 tagctagctactatcatcgatcg 428 23 0 43.48 57.691 27.80 9.87 0.00 5.309
|
||||
631 gactgatcgatcatcatgctagct 268 24 0 45.83 61.313 24.51 7.81 41.77 5.313
|
||||
632 gctagctgactgatcgatcatcat 261 24 0 45.83 61.313 26.31 20.43 41.77 5.313
|
||||
633 ctatttagctagctgactgatcga 254 24 0 41.67 58.679 0.00 0.00 0.00 5.321
|
||||
634 gcatgctagtagtgatgtatacg 34 23 0 43.48 57.659 11.60 0.00 0.00 5.341
|
||||
635 tatttagctagctgactgatcga 255 23 0 39.13 57.650 0.00 0.00 0.00 5.350
|
||||
636 ctactagctagctgatcatcatcga 506 25 0 44.00 60.352 1.08 0.00 0.00 5.352
|
||||
637 agctactatcatctctgcgcgat 355 23 0 47.83 62.360 4.99 2.52 0.00 5.360
|
||||
638 gctgatcatcatcgatgctagcta 516 24 0 45.83 61.370 20.15 8.49 40.32 5.370
|
||||
639 tagctgatcatcatcgatgctagc 514 24 0 45.83 61.370 20.04 19.26 40.32 5.370
|
||||
640 gctagctgatcatcatcgatgcta 512 24 0 45.83 61.370 14.58 9.63 40.32 5.370
|
||||
641 tagctagctgatcatcatcgatgc 510 24 0 45.83 61.370 21.42 7.40 40.32 5.370
|
||||
642 atgcatgctagtagtgatgtatacg 32 25 0 40.00 59.604 11.70 0.00 0.00 5.396
|
||||
643 tgatgcatgctagtagtgatgtat 30 24 0 37.50 58.592 12.66 12.66 0.00 5.408
|
||||
644 gactgatcgatcgatgctagctag 116 24 0 50.00 61.409 18.04 17.46 35.21 5.409
|
||||
645 gctatttagctagctgactgatc 253 23 0 43.48 57.572 7.27 0.00 46.11 5.428
|
||||
646 tgctagtgatgcatgctagtagtg 24 24 0 45.83 61.434 24.96 10.54 35.89 5.434
|
||||
647 ctagctagctactatcatctctgc 349 24 0 45.83 58.562 27.80 0.00 0.00 5.438
|
||||
648 gctagctagctactatcatctctg 348 24 0 45.83 58.562 34.38 6.79 46.11 5.438
|
||||
649 gatcatcatcgatgctagctagta 519 24 0 41.67 58.557 22.18 18.77 40.32 5.443
|
||||
650 gatcgatcatcatgctagctacta 272 24 0 41.67 58.557 21.11 0.00 0.00 5.443
|
||||
651 atcatcatcgatgctagctagtag 520 24 0 41.67 58.554 2.13 0.00 40.32 5.446
|
||||
652 atcgatcatcatgctagctactag 273 24 0 41.67 58.554 0.00 0.00 37.62 5.446
|
||||
653 tagctagctactatcatctctgc 350 23 0 43.48 57.527 27.80 0.00 0.00 5.473
|
||||
654 atcatcatcgatgctagctagta 520 23 0 39.13 57.514 22.18 18.77 40.32 5.486
|
||||
655 atcgatcatcatgctagctacta 273 23 0 39.13 57.514 0.00 0.00 0.00 5.486
|
||||
656 gatcatcatcgatgctagctagtag 519 25 0 44.00 59.494 0.21 0.00 40.32 5.506
|
||||
657 gatcgatcatcatgctagctactag 272 25 0 44.00 59.494 21.11 0.00 37.62 5.506
|
||||
658 actagctagctgatcatcatctact 211 25 0 40.00 59.471 22.43 6.99 0.00 5.529
|
||||
659 tgactgatcgatcatcatgctagc 267 24 0 45.83 61.547 26.79 14.13 41.77 5.547
|
||||
660 gctgactgatcgatcatcatgcta 265 24 0 45.83 61.547 27.72 16.42 41.77 5.547
|
||||
661 tagctgactgatcgatcatcatgc 263 24 0 45.83 61.547 27.74 27.74 41.77 5.547
|
||||
662 tgctagtagtgatgtatacgtagc 37 24 0 41.67 58.446 4.93 4.93 0.00 5.554
|
||||
663 ctagctagctgactgatacgcga 465 23 0 52.17 62.571 14.90 0.00 0.00 5.571
|
||||
664 tagctagctactatcatcgatcgat 428 25 0 40.00 59.423 27.80 25.37 35.13 5.577
|
||||
665 gctactagctagctgatcatcatct 208 25 0 44.00 60.585 14.37 0.00 44.92 5.585
|
||||
666 agctgatcatcatctagctagtagc 153 25 0 44.00 60.585 15.25 15.25 40.45 5.585
|
||||
667 ctagctagctgatcgatcgatgtg 71 24 0 50.00 61.642 11.68 4.94 35.21 5.642
|
||||
668 agtgatgcatgctagtagtgatgta 28 25 0 40.00 60.646 11.60 8.84 0.00 5.646
|
||||
669 tagtgatgcatgctagtagtgatgt 27 25 0 40.00 60.646 11.60 0.00 0.00 5.646
|
||||
670 actatcatctctgcgcgatcgat 359 23 0 47.83 62.652 22.07 11.47 38.48 5.652
|
||||
671 ctatttagctagctgactgatcg 254 23 0 43.48 57.339 0.00 0.00 0.00 5.661
|
||||
672 tagctagctgatcgatcgtagcg 561 23 0 52.17 62.677 27.20 18.31 0.00 5.677
|
||||
673 gcatcggattagctagctgatgc 4 23 0 52.17 62.687 34.10 34.10 41.15 5.687
|
||||
674 tgcatgctagtagtgatgtatacgt 33 25 0 40.00 60.700 20.79 0.00 0.00 5.700
|
||||
675 tttagctagctgactgatcgatcat 257 25 0 40.00 60.702 26.67 18.02 36.62 5.702
|
||||
676 atttagctagctgactgatcgatca 256 25 0 40.00 60.702 26.99 26.99 35.44 5.702
|
||||
677 gctagctagctactatcatctct 348 23 0 43.48 57.266 34.38 0.00 46.11 5.734
|
||||
678 aagcatcggattagctagctgatg 2 24 0 45.83 61.794 27.81 27.81 33.28 5.794
|
||||
679 agtgatgtatacgtagctagtagc 44 24 0 41.67 58.201 15.25 15.25 45.79 5.799
|
||||
680 gctagtagtgatgtatacgtagct 38 24 0 41.67 58.201 5.92 5.92 0.00 5.799
|
||||
681 tagctagctgactgatcgatcgat 107 24 0 45.83 61.800 30.53 30.53 37.90 5.800
|
||||
682 actagctagctgactgatacgcg 464 23 0 52.17 62.816 21.52 3.89 0.00 5.816
|
||||
683 actagctagctgatcatcatctac 211 24 0 41.67 58.178 22.43 0.00 0.00 5.822
|
||||
684 tagctgatcgatcgatgctagcta 396 24 0 45.83 61.857 34.98 33.55 41.05 5.857
|
||||
685 tagctagctgatcgatcgatgcta 392 24 0 45.83 61.857 34.11 32.56 36.80 5.857
|
||||
686 tatttagctagctgactgatcgat 255 24 0 37.50 58.112 1.68 0.00 0.00 5.888
|
||||
687 gcatgctagtagtgatgtatacgta 34 25 0 40.00 59.089 11.60 0.00 0.00 5.911
|
||||
688 tatttagctagctgactgatcgatc 255 25 0 40.00 59.084 19.32 19.32 0.00 5.916
|
||||
689 ctatttagctagctgactgatcgat 254 25 0 40.00 59.082 0.00 0.00 0.00 5.918
|
||||
690 ctagctagctactatcatctctgcg 349 25 0 48.00 60.920 27.80 5.75 0.00 5.920
|
||||
691 tgatcgatcgatgctagctaggc 400 23 0 52.17 62.955 26.44 12.49 35.21 5.955
|
||||
692 agctagctactgatcgatgctaca 303 24 0 45.83 61.988 17.56 3.03 0.00 5.988
|
||||
693 tgactgatcgatcgatgctagcta 115 24 0 45.83 62.034 20.19 11.16 35.21 6.034
|
||||
694 tagctgactgatcgatcgatgcta 111 24 0 45.83 62.034 33.43 30.74 35.21 6.034
|
||||
695 catgctagtagtgatgtatacgtagc 35 26 0 42.31 59.961 4.93 4.93 0.00 6.039
|
||||
696 gcatgctagtagtgatgtatacgtag 34 26 0 42.31 59.961 11.60 0.00 0.00 6.039
|
||||
697 actgatcgatcgatgctagctagt 117 24 0 45.83 62.039 23.29 15.07 35.21 6.039
|
||||
698 ctatttagctagctgactgatcgatc 254 26 0 42.31 59.960 19.32 19.32 0.00 6.040
|
||||
699 ttagctagctgactgatcgatcatc 258 25 0 44.00 61.041 28.29 21.92 36.62 6.041
|
||||
700 atgctagtagtgatgtatacgtagct 36 26 0 38.46 60.068 9.37 8.73 0.00 6.068
|
||||
701 ctagctagctgatcatcatctact 212 24 0 41.67 57.930 11.68 6.99 0.00 6.070
|
||||
702 ctactagctagctgatcatcatct 209 24 0 41.67 57.930 1.08 0.00 0.00 6.070
|
||||
703 agctgatcatcatctagctagtag 153 24 0 41.67 57.930 7.49 3.73 40.45 6.070
|
||||
704 ctagctgatcatcatctagctagt 151 24 0 41.67 57.930 21.70 5.56 46.15 6.070
|
||||
705 tagctactatcatctctgcgcgat 354 24 0 45.83 62.096 4.99 2.52 0.00 6.096
|
||||
706 gactgatcgatcatcatgctagcta 268 25 0 44.00 61.099 24.51 4.57 41.77 6.099
|
||||
707 ctgatcatcatcgatgctagctagt 517 25 0 44.00 61.101 22.18 3.56 40.32 6.101
|
||||
708 actagctagctgatcatcatcgatg 508 25 0 44.00 61.101 22.43 20.23 41.48 6.101
|
||||
709 ctgatcgatcatcatgctagctact 270 25 0 44.00 61.101 26.67 0.00 41.77 6.101
|
||||
710 atgctagtagtgatgtatacgtagc 36 25 0 40.00 58.855 4.93 4.93 0.00 6.145
|
||||
711 ctagctagctactgatcgatgctac 301 25 0 48.00 61.145 14.00 7.81 0.00 6.145
|
||||
712 gctagctagctactatcatctctgc 348 25 0 48.00 61.152 34.38 11.74 46.11 6.152
|
||||
713 agctagctgatcatcatctactatca 214 26 0 38.46 59.840 17.99 0.00 0.00 6.160
|
||||
714 ctgatcgatcgatgctagctagtag 118 25 0 48.00 61.197 19.70 5.49 35.21 6.197
|
||||
715 agctagctgactgatcgatcatca 260 24 0 45.83 62.232 26.49 26.49 39.98 6.232
|
||||
716 gctagctagctactatcatcgatcg 426 25 0 48.00 61.252 34.38 9.87 46.11 6.252
|
||||
717 gctatttagctagctgactgatcga 253 25 0 44.00 61.268 7.27 0.00 46.11 6.268
|
||||
718 ctagctagctactatcatcgatcgat 427 26 0 42.31 60.291 27.80 25.37 35.13 6.291
|
||||
719 agctgatcatcgatgctactagct 194 24 0 45.83 62.294 24.11 23.60 45.92 6.294
|
||||
720 agctagctgatcatcgatgctact 190 24 0 45.83 62.294 17.99 10.88 0.00 6.294
|
||||
721 ctagctagctgactgatcgatcga 106 24 0 50.00 62.312 22.52 22.52 0.00 6.312
|
||||
722 actgatcgatcatcatgctagctac 269 25 0 44.00 61.328 26.67 0.00 41.77 6.328
|
||||
723 tgatgcatgctagtagtgatgtatac 30 26 0 38.46 59.623 9.19 6.43 0.00 6.377
|
||||
724 gtgatgcatgctagtagtgatgtata 29 26 0 38.46 59.623 4.23 0.00 0.00 6.377
|
||||
725 tactatcatctctgcgcgatcgat 358 24 0 45.83 62.379 22.07 11.47 38.48 6.379
|
||||
726 gctagctgatcatcatctactatca 215 25 0 40.00 58.607 8.21 0.00 0.00 6.393
|
||||
727 gctactagctagctgatcatcatcta 208 26 0 42.31 60.404 14.37 0.00 44.92 6.404
|
||||
728 tagctgatcatcatctagctagtagc 152 26 0 42.31 60.404 15.25 15.25 41.48 6.404
|
||||
729 tgctagtagtgatgtatacgtagcta 37 26 0 38.46 59.564 10.00 8.05 0.00 6.436
|
||||
730 gatgcatgctagtagtgatgtatacg 31 26 0 42.31 60.453 7.40 0.00 0.00 6.453
|
||||
731 tagtgatgcatgctagtagtgatgta 27 26 0 38.46 60.461 11.60 8.84 0.00 6.461
|
||||
732 gctagtgatgcatgctagtagtgat 25 25 0 44.00 61.506 24.96 8.51 0.00 6.506
|
||||
733 tgcatgctagtagtgatgtatacgta 33 26 0 38.46 60.515 20.79 0.00 0.00 6.515
|
||||
734 tatttagctagctgactgatcgatca 255 26 0 38.46 60.516 26.99 26.99 35.44 6.516
|
||||
735 tgatgcatgctagtagtgatgtata 30 25 0 36.00 58.479 4.13 0.00 0.00 6.521
|
||||
736 tactagctagctgactgatacgcg 463 24 0 50.00 62.538 13.17 3.89 0.00 6.538
|
||||
737 ctagctactatcatctctgcgcga 353 24 0 50.00 62.603 2.71 2.71 0.00 6.603
|
||||
738 agctagctgatcatcatctactatc 214 25 0 40.00 58.369 17.99 0.00 0.00 6.631
|
||||
739 agctagctgatcatcatctactat 214 24 0 37.50 57.345 17.99 0.00 0.00 6.655
|
||||
740 gctactagctagctgatcatcatcg 505 25 0 48.00 61.656 14.37 0.00 44.92 6.656
|
||||
741 gctgatcatcgatgctactagctag 195 25 0 48.00 61.656 20.91 20.04 45.92 6.656
|
||||
742 ctagctgatcatcgatgctactagc 192 25 0 48.00 61.656 20.78 20.78 45.61 6.656
|
||||
743 gctagctgatcatcgatgctactag 191 25 0 48.00 61.656 20.13 20.13 0.00 6.656
|
||||
744 ctagctagctgatcatcgatgctac 188 25 0 48.00 61.656 17.82 12.06 0.00 6.656
|
||||
745 actagctagctgatcatcatctacta 211 26 0 38.46 59.328 22.43 8.11 0.00 6.672
|
||||
746 tactagctagctgatcatcatctact 210 26 0 38.46 59.328 6.99 6.99 0.00 6.672
|
||||
747 ctactagctagctgatcatcatcgat 506 26 0 42.31 60.681 1.08 0.00 0.00 6.681
|
||||
748 tagctagctactgatcgatgctaca 302 25 0 44.00 61.746 27.80 5.02 0.00 6.746
|
||||
749 gtagtgatgtatacgtagctagtagc 42 26 0 42.31 59.249 15.25 15.25 45.79 6.751
|
||||
750 actgatcgatcgatgctagctagta 117 25 0 44.00 61.797 23.29 18.77 35.21 6.797
|
||||
751 gatgcatgctagtagtgatgtatac 31 25 0 40.00 58.175 20.79 1.70 0.00 6.825
|
||||
752 agctgatcatcatcgatgctagct 515 24 0 45.83 62.835 23.00 22.41 41.74 6.835
|
||||
753 agctagctgatcatcatcgatgct 511 24 0 45.83 62.835 17.99 8.34 40.32 6.835
|
||||
754 ctagctagctgactgatacgcgat 465 24 0 50.00 62.838 14.90 0.00 0.00 6.838
|
||||
755 atgcatgctagtagtgatgtatac 32 24 0 37.50 57.161 11.70 0.53 0.00 6.839
|
||||
756 agctagctactatcatctctgcgc 351 24 0 50.00 62.858 17.56 0.00 0.00 6.858
|
||||
757 gctagctagctactgatcgatgct 300 24 0 50.00 62.858 34.38 11.51 46.11 6.858
|
||||
758 ctactatcatctctgcgcgatcga 357 24 0 50.00 62.878 22.07 1.72 38.48 6.878
|
||||
759 gctagctactgatcgatgctacatc 304 25 0 48.00 61.879 11.21 4.40 37.97 6.879
|
||||
760 tagtgatgtatacgtagctagtagc 43 25 0 40.00 58.104 15.25 15.25 45.79 6.896
|
||||
761 gctagtagtgatgtatacgtagcta 38 25 0 40.00 58.104 7.24 5.34 0.00 6.896
|
||||
762 tgatcatcatcgatgctagctagtag 518 26 0 42.31 60.902 14.93 0.00 40.32 6.902
|
||||
763 ctgatcatcatcgatgctagctagta 517 26 0 42.31 60.902 22.18 18.77 40.32 6.902
|
||||
764 tactagctagctgatcatcatcgatg 507 26 0 42.31 60.902 20.23 20.23 41.48 6.902
|
||||
765 tgatcgatcatcatgctagctactag 271 26 0 42.31 60.902 27.48 0.00 37.38 6.902
|
||||
766 ctgatcgatcatcatgctagctacta 270 26 0 42.31 60.902 26.67 1.37 41.77 6.902
|
||||
767 agctgatcgatcgatgctagctag 397 24 0 50.00 62.904 31.26 19.90 40.03 6.904
|
||||
768 ctagctgatcgatcgatgctagct 395 24 0 50.00 62.904 35.51 33.22 43.05 6.904
|
||||
769 agctagctgatcgatcgatgctag 393 24 0 50.00 62.904 41.07 41.07 46.89 6.904
|
||||
770 ctagctagctgatcgatcgatgct 391 24 0 50.00 62.904 33.87 33.38 38.16 6.904
|
||||
771 tactagctagctgatcatcatctac 210 25 0 40.00 58.081 0.00 0.00 0.00 6.919
|
||||
772 gctagctgatcatcatctactatc 215 24 0 41.67 57.062 8.21 0.00 0.00 6.938
|
||||
773 agtgatgcatgctagtagtgatgtat 28 26 0 38.46 60.969 1.07 1.07 0.00 6.969
|
||||
774 gctagtagtgatgtatacgtagctag 38 26 0 42.31 59.027 8.99 8.99 0.00 6.973
|
||||
775 tagctagctgactgatcgatcatca 259 25 0 44.00 61.981 28.29 26.49 39.98 6.981
|
||||
776 ctactagctagctgatcatcatctac 209 26 0 42.31 59.015 1.08 0.00 0.00 6.985
|
||||
777 agtagtgatgtatacgtagctagt 41 24 0 37.50 57.012 8.68 8.68 0.00 6.988
|
||||
778 gctagctgatcatcatctactatcat 215 26 0 38.46 59.001 8.21 0.00 0.00 6.999
|
||||
779 agctgatcatcatctactatcatca 218 25 0 36.00 57.993 0.00 0.00 0.00 7.007
|
||||
780 atgcatgctagtagtgatgtatacgt 32 26 0 38.46 61.018 11.70 0.00 0.00 7.018
|
||||
781 atttagctagctgactgatcgatcat 256 26 0 38.46 61.022 26.67 18.02 36.62 7.022
|
||||
782 agctgatcatcgatgctactagcta 194 25 0 44.00 62.040 24.59 9.79 45.92 7.040
|
||||
783 tagctgatcatcgatgctactagct 193 25 0 44.00 62.040 27.00 27.00 45.92 7.040
|
||||
784 agctagctgatcatcgatgctacta 190 25 0 44.00 62.040 17.99 11.59 0.00 7.040
|
||||
785 tagctagctgatcatcgatgctact 189 25 0 44.00 62.040 17.55 15.53 0.00 7.040
|
||||
786 atgctagtagtgatgtatacgtagcta 36 27 0 37.04 59.911 10.00 8.05 0.00 7.089
|
||||
787 gctagctgatcatcatctactatcatc 215 27 0 40.74 59.861 8.21 0.00 0.00 7.139
|
||||
788 ctagctagctgatcatcatctacta 212 25 0 40.00 57.842 11.68 8.11 0.00 7.158
|
||||
789 ctactagctagctgatcatcatcta 209 25 0 40.00 57.842 1.08 0.00 0.00 7.158
|
||||
790 tagctgatcatcatctagctagtag 152 25 0 40.00 57.842 13.40 3.73 41.48 7.158
|
||||
791 ctagctgatcatcatctagctagta 151 25 0 40.00 57.842 21.70 7.13 46.15 7.158
|
||||
792 gctgatcatcatcgatgctagctag 516 25 0 48.00 62.165 20.15 17.46 40.32 7.165
|
||||
793 ctagctgatcatcatcgatgctagc 513 25 0 48.00 62.165 19.27 19.26 41.96 7.165
|
||||
794 gctagctgatcatcatcgatgctag 512 25 0 48.00 62.165 23.70 23.70 45.51 7.165
|
||||
795 ctagctagctgatcatcatcgatgc 509 25 0 48.00 62.165 21.42 7.40 40.32 7.165
|
||||
796 agctagctgatcatcatctactatcat 214 27 0 37.04 60.181 17.99 0.00 0.00 7.181
|
||||
797 ctactagctagctgatcatcatctact 209 27 0 40.74 60.181 6.99 6.99 0.00 7.181
|
||||
798 ctagctgatcatcatctagctagtag 151 26 0 42.31 58.789 21.70 10.73 46.15 7.211
|
||||
799 aaagcatcggattagctagctgatg 1 25 0 44.00 62.249 27.81 27.81 33.28 7.249
|
||||
800 agctagctactgatcgatgctacat 303 25 0 44.00 62.272 17.56 6.16 0.00 7.272
|
||||
801 tagctagctgatcatcatctactatca 213 27 0 37.04 59.689 8.31 0.00 0.00 7.311
|
||||
802 actagctagctgatcatcatctactat 211 27 0 37.04 59.688 22.43 2.36 0.00 7.312
|
||||
803 ctgactgatcgatcatcatgctagc 266 25 0 48.00 62.333 20.99 8.86 41.77 7.333
|
||||
804 gctgactgatcgatcatcatgctag 265 25 0 48.00 62.333 27.72 21.73 41.77 7.333
|
||||
805 ctagctgactgatcgatcatcatgc 262 25 0 48.00 62.333 27.74 27.74 41.77 7.333
|
||||
806 gctagctgactgatcgatcatcatg 261 25 0 48.00 62.333 22.70 19.51 41.77 7.333
|
||||
807 tgctagtagtgatgtatacgtagctag 37 27 0 40.74 60.395 8.99 8.99 0.00 7.395
|
||||
808 agtagtgatgtatacgtagctagtagc 41 27 0 40.74 60.395 15.25 15.25 45.79 7.395
|
||||
809 gctagtagtgatgtatacgtagctagt 38 27 0 40.74 60.395 15.55 15.55 0.00 7.395
|
||||
810 ctagtgatgcatgctagtagtgatgt 26 26 0 42.31 61.460 20.00 0.00 0.00 7.460
|
||||
811 gctgatcatcatctactatcatcatca 219 27 0 37.04 59.533 0.00 0.00 0.00 7.467
|
||||
812 agctagctgactgatcgatcatcat 260 25 0 44.00 62.507 26.31 20.43 41.77 7.507
|
||||
813 tttagctagctgactgatcgatcatc 257 26 0 42.31 61.507 23.93 21.92 36.62 7.507
|
||||
814 catgctagtagtgatgtatacgtag 35 25 0 40.00 57.441 4.74 0.00 0.00 7.559
|
||||
815 agctgatcatcatcgatgctagcta 515 25 0 44.00 62.561 23.50 10.90 43.19 7.561
|
||||
816 tagctgatcatcatcgatgctagct 514 25 0 44.00 62.561 26.21 26.21 44.79 7.561
|
||||
817 agctagctgatcatcatcgatgcta 511 25 0 44.00 62.561 17.99 9.63 40.32 7.561
|
||||
818 tagctagctgatcatcatcgatgct 510 25 0 44.00 62.561 14.14 10.38 40.32 7.561
|
||||
819 gctatttagctagctgactgatcgat 253 26 0 42.31 61.564 7.27 0.00 46.11 7.564
|
||||
820 ctagctagctgactgatcgatcgat 106 25 0 48.00 62.579 30.53 30.53 37.90 7.579
|
||||
821 agctgatcatcatctactatcatcat 218 26 0 34.62 58.415 0.00 0.00 0.00 7.585
|
||||
822 tagctagctactatcatctctgcgc 350 25 0 48.00 62.587 27.80 0.00 0.00 7.587
|
||||
823 gctagctagctactgatcgatgcta 300 25 0 48.00 62.587 34.38 12.23 46.11 7.587
|
||||
824 tgctagtgatgcatgctagtagtga 24 25 0 44.00 62.622 24.96 13.57 35.89 7.622
|
||||
825 tagctgatcgatcgatgctagctag 396 25 0 48.00 62.632 33.71 21.46 41.05 7.632
|
||||
826 ctagctgatcgatcgatgctagcta 395 25 0 48.00 62.632 35.51 32.61 43.05 7.632
|
||||
827 tagctagctgatcgatcgatgctag 392 25 0 48.00 62.632 41.07 41.07 46.89 7.632
|
||||
828 ctagctagctgatcgatcgatgcta 391 25 0 48.00 62.632 34.11 32.56 36.80 7.632
|
||||
829 gtgatgcatgctagtagtgatgtatac 29 27 0 40.74 60.659 9.56 7.17 0.00 7.659
|
||||
830 agctgatcatcatctactatcatcatc 218 27 0 37.04 59.314 0.00 0.00 0.00 7.686
|
||||
831 tagctagctgatcatcatctactat 213 25 0 36.00 57.279 8.31 0.00 0.00 7.721
|
||||
832 tagctagctgatcatcatctactatc 213 26 0 38.46 58.269 8.31 0.00 0.00 7.731
|
||||
833 tgactgatcgatcatcatgctagct 267 25 0 44.00 62.733 26.79 10.55 41.77 7.733
|
||||
834 agctgactgatcgatcatcatgcta 264 25 0 44.00 62.733 30.60 18.10 41.77 7.733
|
||||
835 tagctgactgatcgatcatcatgct 263 25 0 44.00 62.733 32.31 32.31 41.77 7.733
|
||||
836 ctagctagctgatcatcatctactat 212 26 0 38.46 58.265 9.41 0.00 0.00 7.735
|
||||
837 agtgatgcatgctagtagtgatgtata 28 27 0 37.04 60.779 4.23 0.00 0.00 7.779
|
||||
838 tagtgatgcatgctagtagtgatgtat 27 27 0 37.04 60.779 11.56 0.00 0.00 7.779
|
||||
839 tgactgatcgatcgatgctagctag 115 25 0 48.00 62.800 20.19 17.46 35.21 7.800
|
||||
840 ctgactgatcgatcgatgctagcta 114 25 0 48.00 62.800 20.19 11.97 35.21 7.800
|
||||
841 tagctgactgatcgatcgatgctag 111 25 0 48.00 62.800 31.45 26.34 35.21 7.800
|
||||
842 ctagctgactgatcgatcgatgcta 110 25 0 48.00 62.800 31.54 29.68 35.21 7.800
|
||||
843 tagctagctgactgatcgatcgatg 107 25 0 48.00 62.800 28.29 13.21 35.21 7.800
|
||||
844 gactgatcgatcgatgctagctagt 116 25 0 48.00 62.802 22.18 12.64 35.21 7.802
|
||||
845 tactagctagctgatcatcatctacta 210 27 0 37.04 59.196 8.79 8.11 0.00 7.804
|
||||
846 tagctgatcatcgatgctactagcta 193 26 0 42.31 61.805 28.86 27.39 45.92 7.805
|
||||
847 tagctagctgatcatcgatgctacta 189 26 0 42.31 61.805 18.93 16.03 0.00 7.805
|
||||
848 atgcatgctagtagtgatgtatacgta 32 27 0 37.04 60.828 11.70 0.00 0.00 7.828
|
||||
849 tatttagctagctgactgatcgatcat 255 27 0 37.04 60.831 26.67 18.02 36.62 7.831
|
||||
850 ctagctagctgatcatcatctactatc 212 27 0 40.74 59.162 9.41 0.06 0.00 7.838
|
||||
851 tagctactatcatctctgcgcgatc 354 25 0 48.00 62.854 0.00 0.00 0.00 7.854
|
||||
852 gctgatcatcatctactatcatcat 219 25 0 36.00 57.142 0.00 0.00 0.00 7.858
|
||||
853 ctagctactatcatctctgcgcgat 353 25 0 48.00 62.859 4.99 2.52 0.00 7.859
|
||||
854 gctgatcatcatctactatcatcatc 219 26 0 38.46 58.126 0.00 0.00 0.00 7.874
|
||||
855 tagctagctactgatcgatgctacat 302 26 0 42.31 62.028 27.80 3.08 0.00 8.028
|
||||
856 agtagtgatgtatacgtagctagtag 41 26 0 38.46 57.950 9.92 1.30 0.00 8.050
|
||||
857 ctagtagtgatgtatacgtagctagt 39 26 0 38.46 57.950 15.52 15.52 0.00 8.050
|
||||
858 catgctagtagtgatgtatacgtagct 35 27 0 40.74 61.089 9.37 8.73 0.00 8.089
|
||||
859 gactgatcgatcatcatgctagctac 268 26 0 46.15 62.094 24.51 8.36 41.77 8.094
|
||||
860 tagctgatcatcatctactatcatca 217 26 0 34.62 57.906 0.00 0.00 0.00 8.094
|
||||
861 ctagctgatcatcatctactatcatca 216 27 0 37.04 58.826 0.00 0.00 0.00 8.174
|
||||
862 ctagctgatcatcatctagctagtagc 151 27 0 44.44 61.196 21.70 15.25 46.15 8.196
|
||||
863 tagctagctgactgatcgatcatcat 259 26 0 42.31 62.255 28.29 20.43 41.77 8.255
|
||||
864 ctagtgatgcatgctagtagtgatgta 26 27 0 40.74 61.255 20.00 8.84 0.00 8.255
|
||||
865 tgcatgctagtagtgatgtatacgtag 33 27 0 40.74 61.300 20.79 0.00 0.00 8.300
|
||||
866 ctatttagctagctgactgatcgatca 254 27 0 40.74 61.304 26.99 26.99 35.44 8.304
|
||||
867 tagctgatcatcatcgatgctagcta 514 26 0 42.31 62.307 28.23 26.63 43.19 8.307
|
||||
868 tagctagctgatcatcatcgatgcta 510 26 0 42.31 62.307 14.58 11.03 40.32 8.307
|
||||
869 gctagctagctactatcatcgatcga 426 26 0 46.15 62.381 34.38 22.52 46.11 8.381
|
||||
870 gctactagctagctgatcatcatctac 208 27 0 44.44 61.407 14.37 0.00 44.92 8.407
|
||||
871 ttagctagctgactgatcgatcatca 258 26 0 42.31 62.416 28.29 26.49 39.98 8.416
|
||||
872 tgactgatcgatcatcatgctagcta 267 26 0 42.31 62.472 26.79 11.24 41.77 8.472
|
||||
873 tagctgactgatcgatcatcatgcta 263 26 0 42.31 62.472 33.83 32.61 41.77 8.472
|
||||
874 actgatcgatcatcatgctagctact 269 26 0 42.31 62.478 26.67 0.00 41.77 8.478
|
||||
875 gctagtgatgcatgctagtagtgatg 25 26 0 46.15 62.484 24.96 9.07 0.00 8.484
|
||||
876 ctagctagctactgatcgatgctaca 301 26 0 46.15 62.503 14.00 5.87 0.00 8.503
|
||||
877 gactgatcgatcgatgctagctagta 116 26 0 46.15 62.543 22.18 18.77 35.21 8.543
|
||||
878 actgatcgatcgatgctagctagtag 117 26 0 46.15 62.548 23.29 12.42 35.21 8.548
|
||||
879 ctagctgatcatcatctactatcatc 216 26 0 38.46 57.395 0.00 0.00 0.00 8.605
|
||||
880 ctgatcatcatcgatgctagctagtag 517 27 0 44.44 61.665 10.30 1.36 40.32 8.665
|
||||
881 ctactagctagctgatcatcatcgatg 506 27 0 44.44 61.665 20.23 20.23 41.48 8.665
|
||||
882 ctgatcgatcatcatgctagctactag 270 27 0 44.44 61.665 26.67 8.14 41.77 8.665
|
||||
883 tagctgatcatcatctactatcatcat 217 27 0 33.33 58.315 0.00 0.00 0.00 8.685
|
||||
884 tgatgcatgctagtagtgatgtatacg 30 27 0 40.74 61.778 9.81 0.00 0.00 8.778
|
||||
885 gatgcatgctagtagtgatgtatacgt 31 27 0 40.74 61.779 7.40 0.00 0.00 8.779
|
||||
886 gctactagctagctgatcatcatcga 505 26 0 46.15 62.779 14.37 0.00 44.92 8.779
|
||||
887 agctgatcatcgatgctactagctag 194 26 0 46.15 62.784 24.59 20.04 45.92 8.784
|
||||
888 ctagctgatcatcgatgctactagct 192 26 0 46.15 62.784 27.00 27.00 45.92 8.784
|
||||
889 agctagctgatcatcgatgctactag 190 26 0 46.15 62.784 20.13 20.13 0.00 8.784
|
||||
890 ctagctagctgatcatcgatgctact 188 26 0 46.15 62.784 17.55 15.53 0.00 8.784
|
||||
891 atttagctagctgactgatcgatcatc 256 27 0 40.74 61.785 23.93 21.92 36.62 8.785
|
||||
892 tctactatcatcatcatctactagct 230 26 0 34.62 57.155 0.00 0.00 0.00 8.845
|
||||
893 tgctagtgatgcatgctagtagtgat 24 26 0 42.31 62.874 24.96 8.51 35.89 8.874
|
||||
894 ctgatcatcatctactatcatcatca 220 26 0 34.62 57.026 0.00 0.00 0.00 8.974
|
||||
895 agctagctactgatcgatgctacatc 303 26 0 46.15 62.999 17.56 7.89 37.97 8.999
|
||||
896 tagtagtgatgtatacgtagctagtag 40 27 0 37.04 57.869 16.78 1.30 0.00 9.131
|
||||
897 ctagtagtgatgtatacgtagctagta 39 27 0 37.04 57.869 16.85 15.97 0.00 9.131
|
||||
898 actgatcgatcatcatgctagctacta 269 27 0 40.74 62.236 26.67 1.37 41.77 9.236
|
||||
899 gcatgctagtagtgatgtatacgtagc 34 27 0 44.44 62.283 11.60 4.93 0.00 9.283
|
||||
900 gctatttagctagctgactgatcgatc 253 27 0 44.44 62.291 19.32 19.32 46.11 9.291
|
||||
901 atctactatcatcatcatctactagct 229 27 0 33.33 57.592 0.00 0.00 0.00 9.408
|
||||
902 catctactatcatcatcatctactagc 228 27 0 37.04 57.549 0.00 0.00 0.00 9.451
|
||||
903 tgatcatcatctactatcatcatcatc 221 27 0 33.33 57.467 0.00 0.00 0.00 9.533
|
||||
904 tagctgatcatcgatgctactagctag 193 27 0 44.44 62.534 27.70 20.04 45.92 9.534
|
||||
905 ctagctgatcatcgatgctactagcta 192 27 0 44.44 62.534 27.76 26.73 45.92 9.534
|
||||
906 tagctagctgatcatcgatgctactag 189 27 0 44.44 62.534 20.13 20.13 0.00 9.534
|
||||
907 ctagctagctgatcatcgatgctacta 188 27 0 44.44 62.534 17.74 15.95 0.00 9.534
|
||||
908 ctgatcatcatctactatcatcatcat 220 27 0 33.33 57.462 0.00 0.00 0.00 9.538
|
||||
909 gctagctagctactatcatcgatcgat 426 27 0 44.44 62.627 34.38 25.37 46.11 9.627
|
||||
910 ttagctagctgactgatcgatcatcat 258 27 0 40.74 62.665 28.29 20.43 41.77 9.665
|
||||
911 tagctagctactgatcgatgctacatc 302 27 0 44.44 62.742 27.80 7.89 37.97 9.742
|
||||
912 ctagctagctactgatcgatgctacat 301 27 0 44.44 62.747 14.00 2.51 0.00 9.747
|
||||
913 gatcatcatctactatcatcatcatct 222 27 0 33.33 57.242 0.00 0.00 0.00 9.758
|
||||
914 tttagctagctgactgatcgatcatca 257 27 0 40.74 62.820 26.49 26.49 39.98 9.820
|
||||
915 tctactatcatcatcatctactagcta 230 27 0 33.33 57.100 0.00 0.00 0.00 9.900
|
||||
25912
samples/G-code/lm.g
25912
samples/G-code/lm.g
File diff suppressed because it is too large
Load Diff
29735
samples/G-code/rm.g
29735
samples/G-code/rm.g
File diff suppressed because it is too large
Load Diff
91
samples/GAS/hello.ms
Normal file
91
samples/GAS/hello.ms
Normal file
@@ -0,0 +1,91 @@
|
||||
# output(): Hello, world.\n
|
||||
# mach(): all
|
||||
|
||||
# Emit hello world while switching back and forth between arm/thumb.
|
||||
# ??? Unfinished
|
||||
|
||||
.macro invalid
|
||||
# This is "undefined" but it's not properly decoded yet.
|
||||
.word 0x07ffffff
|
||||
# This is stc which isn't recognized yet.
|
||||
stc 0,cr0,[r0]
|
||||
.endm
|
||||
|
||||
.global _start
|
||||
_start:
|
||||
# Run some simple insns to confirm the engine is at least working.
|
||||
nop
|
||||
|
||||
# Skip over output text.
|
||||
|
||||
bl skip_output
|
||||
|
||||
hello_text:
|
||||
.asciz "Hello, world.\n"
|
||||
|
||||
.p2align 2
|
||||
skip_output:
|
||||
|
||||
# Prime loop.
|
||||
|
||||
mov r4, r14
|
||||
|
||||
output_next:
|
||||
|
||||
# Switch arm->thumb to output next chacter.
|
||||
# At this point r4 must point to the next character to output.
|
||||
|
||||
adr r0, into_thumb + 1
|
||||
bx r0
|
||||
|
||||
into_thumb:
|
||||
.thumb
|
||||
|
||||
# Output a character.
|
||||
|
||||
mov r0,#3 @ writec angel call
|
||||
mov r1,r4
|
||||
swi 0xab @ ??? Confirm number.
|
||||
|
||||
# Switch thumb->arm.
|
||||
|
||||
adr r5, back_to_arm
|
||||
bx r5
|
||||
|
||||
.p2align 2
|
||||
back_to_arm:
|
||||
.arm
|
||||
|
||||
# Load next character, see if done.
|
||||
|
||||
add r4,r4,#1
|
||||
sub r3,r3,r3
|
||||
ldrb r5,[r4,r3]
|
||||
teq r5,#0
|
||||
beq done
|
||||
|
||||
# Output a character (in arm mode).
|
||||
|
||||
mov r0,#3
|
||||
mov r1,r4
|
||||
swi #0x123456
|
||||
|
||||
# Load next character, see if done.
|
||||
|
||||
add r4,r4,#1
|
||||
sub r3,r3,r3
|
||||
ldrb r5,[r4,r3]
|
||||
teq r5,#0
|
||||
bne output_next
|
||||
|
||||
done:
|
||||
mov r0,#0x18
|
||||
ldr r1,exit_code
|
||||
swi #0x123456
|
||||
|
||||
# If that fails, try to die with an invalid insn.
|
||||
|
||||
invalid
|
||||
|
||||
exit_code:
|
||||
.word 0x20026
|
||||
852
samples/Go/embedded.go
Normal file
852
samples/Go/embedded.go
Normal file
File diff suppressed because one or more lines are too long
18
samples/Go/gen-go-linguist-thrift.go
Normal file
18
samples/Go/gen-go-linguist-thrift.go
Normal file
@@ -0,0 +1,18 @@
|
||||
// Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||
|
||||
package linguist
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"git.apache.org/thrift.git/lib/go/thrift"
|
||||
)
|
||||
|
||||
// (needed to ensure safety because of naive import list construction.)
|
||||
var _ = thrift.ZERO
|
||||
var _ = fmt.Printf
|
||||
var _ = bytes.Equal
|
||||
|
||||
func init() {
|
||||
}
|
||||
275
samples/Groff/Tcl.n
Normal file
275
samples/Groff/Tcl.n
Normal file
@@ -0,0 +1,275 @@
|
||||
'\"
|
||||
'\" Copyright (c) 1993 The Regents of the University of California.
|
||||
'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
|
||||
'\"
|
||||
'\" See the file "license.terms" for information on usage and redistribution
|
||||
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
'\"
|
||||
.TH Tcl n "8.6" Tcl "Tcl Built-In Commands"
|
||||
.so man.macros
|
||||
.BS
|
||||
.SH NAME
|
||||
Tcl \- Tool Command Language
|
||||
.SH SYNOPSIS
|
||||
Summary of Tcl language syntax.
|
||||
.BE
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
The following rules define the syntax and semantics of the Tcl language:
|
||||
.IP "[1] \fBCommands.\fR"
|
||||
A Tcl script is a string containing one or more commands.
|
||||
Semi-colons and newlines are command separators unless quoted as
|
||||
described below.
|
||||
Close brackets are command terminators during command substitution
|
||||
(see below) unless quoted.
|
||||
.IP "[2] \fBEvaluation.\fR"
|
||||
A command is evaluated in two steps.
|
||||
First, the Tcl interpreter breaks the command into \fIwords\fR
|
||||
and performs substitutions as described below.
|
||||
These substitutions are performed in the same way for all
|
||||
commands.
|
||||
Secondly, the first word is used to locate a command procedure to
|
||||
carry out the command, then all of the words of the command are
|
||||
passed to the command procedure.
|
||||
The command procedure is free to interpret each of its words
|
||||
in any way it likes, such as an integer, variable name, list,
|
||||
or Tcl script.
|
||||
Different commands interpret their words differently.
|
||||
.IP "[3] \fBWords.\fR"
|
||||
Words of a command are separated by white space (except for
|
||||
newlines, which are command separators).
|
||||
.IP "[4] \fBDouble quotes.\fR"
|
||||
If the first character of a word is double-quote
|
||||
.PQ \N'34'
|
||||
then the word is terminated by the next double-quote character.
|
||||
If semi-colons, close brackets, or white space characters
|
||||
(including newlines) appear between the quotes then they are treated
|
||||
as ordinary characters and included in the word.
|
||||
Command substitution, variable substitution, and backslash substitution
|
||||
are performed on the characters between the quotes as described below.
|
||||
The double-quotes are not retained as part of the word.
|
||||
.IP "[5] \fBArgument expansion.\fR"
|
||||
If a word starts with the string
|
||||
.QW {*}
|
||||
followed by a non-whitespace character, then the leading
|
||||
.QW {*}
|
||||
is removed and the rest of the word is parsed and substituted as any other
|
||||
word. After substitution, the word is parsed as a list (without command or
|
||||
variable substitutions; backslash substitutions are performed as is normal for
|
||||
a list and individual internal words may be surrounded by either braces or
|
||||
double-quote characters), and its words are added to the command being
|
||||
substituted. For instance,
|
||||
.QW "cmd a {*}{b [c]} d {*}{$e f {g h}}"
|
||||
is equivalent to
|
||||
.QW "cmd a b {[c]} d {$e} f {g h}" .
|
||||
.IP "[6] \fBBraces.\fR"
|
||||
If the first character of a word is an open brace
|
||||
.PQ {
|
||||
and rule [5] does not apply, then
|
||||
the word is terminated by the matching close brace
|
||||
.PQ } "" .
|
||||
Braces nest within the word: for each additional open
|
||||
brace there must be an additional close brace (however,
|
||||
if an open brace or close brace within the word is
|
||||
quoted with a backslash then it is not counted in locating the
|
||||
matching close brace).
|
||||
No substitutions are performed on the characters between the
|
||||
braces except for backslash-newline substitutions described
|
||||
below, nor do semi-colons, newlines, close brackets,
|
||||
or white space receive any special interpretation.
|
||||
The word will consist of exactly the characters between the
|
||||
outer braces, not including the braces themselves.
|
||||
.IP "[7] \fBCommand substitution.\fR"
|
||||
If a word contains an open bracket
|
||||
.PQ [
|
||||
then Tcl performs \fIcommand substitution\fR.
|
||||
To do this it invokes the Tcl interpreter recursively to process
|
||||
the characters following the open bracket as a Tcl script.
|
||||
The script may contain any number of commands and must be terminated
|
||||
by a close bracket
|
||||
.PQ ] "" .
|
||||
The result of the script (i.e. the result of its last command) is
|
||||
substituted into the word in place of the brackets and all of the
|
||||
characters between them.
|
||||
There may be any number of command substitutions in a single word.
|
||||
Command substitution is not performed on words enclosed in braces.
|
||||
.IP "[8] \fBVariable substitution.\fR"
|
||||
If a word contains a dollar-sign
|
||||
.PQ $
|
||||
followed by one of the forms
|
||||
described below, then Tcl performs \fIvariable
|
||||
substitution\fR: the dollar-sign and the following characters are
|
||||
replaced in the word by the value of a variable.
|
||||
Variable substitution may take any of the following forms:
|
||||
.RS
|
||||
.TP 15
|
||||
\fB$\fIname\fR
|
||||
.
|
||||
\fIName\fR is the name of a scalar variable; the name is a sequence
|
||||
of one or more characters that are a letter, digit, underscore,
|
||||
or namespace separators (two or more colons).
|
||||
Letters and digits are \fIonly\fR the standard ASCII ones (\fB0\fR\(en\fB9\fR,
|
||||
\fBA\fR\(en\fBZ\fR and \fBa\fR\(en\fBz\fR).
|
||||
.TP 15
|
||||
\fB$\fIname\fB(\fIindex\fB)\fR
|
||||
.
|
||||
\fIName\fR gives the name of an array variable and \fIindex\fR gives
|
||||
the name of an element within that array.
|
||||
\fIName\fR must contain only letters, digits, underscores, and
|
||||
namespace separators, and may be an empty string.
|
||||
Letters and digits are \fIonly\fR the standard ASCII ones (\fB0\fR\(en\fB9\fR,
|
||||
\fBA\fR\(en\fBZ\fR and \fBa\fR\(en\fBz\fR).
|
||||
Command substitutions, variable substitutions, and backslash
|
||||
substitutions are performed on the characters of \fIindex\fR.
|
||||
.TP 15
|
||||
\fB${\fIname\fB}\fR
|
||||
.
|
||||
\fIName\fR is the name of a scalar variable or array element. It may contain
|
||||
any characters whatsoever except for close braces. It indicates an array
|
||||
element if \fIname\fR is in the form
|
||||
.QW \fIarrayName\fB(\fIindex\fB)\fR
|
||||
where \fIarrayName\fR does not contain any open parenthesis characters,
|
||||
.QW \fB(\fR ,
|
||||
or close brace characters,
|
||||
.QW \fB}\fR ,
|
||||
and \fIindex\fR can be any sequence of characters except for close brace
|
||||
characters. No further
|
||||
substitutions are performed during the parsing of \fIname\fR.
|
||||
.PP
|
||||
There may be any number of variable substitutions in a single word.
|
||||
Variable substitution is not performed on words enclosed in braces.
|
||||
.PP
|
||||
Note that variables may contain character sequences other than those listed
|
||||
above, but in that case other mechanisms must be used to access them (e.g.,
|
||||
via the \fBset\fR command's single-argument form).
|
||||
.RE
|
||||
.IP "[9] \fBBackslash substitution.\fR"
|
||||
If a backslash
|
||||
.PQ \e
|
||||
appears within a word then \fIbackslash substitution\fR occurs.
|
||||
In all cases but those described below the backslash is dropped and
|
||||
the following character is treated as an ordinary
|
||||
character and included in the word.
|
||||
This allows characters such as double quotes, close brackets,
|
||||
and dollar signs to be included in words without triggering
|
||||
special processing.
|
||||
The following table lists the backslash sequences that are
|
||||
handled specially, along with the value that replaces each sequence.
|
||||
.RS
|
||||
.TP 7
|
||||
\e\fBa\fR
|
||||
Audible alert (bell) (Unicode U+000007).
|
||||
.TP 7
|
||||
\e\fBb\fR
|
||||
Backspace (Unicode U+000008).
|
||||
.TP 7
|
||||
\e\fBf\fR
|
||||
Form feed (Unicode U+00000C).
|
||||
.TP 7
|
||||
\e\fBn\fR
|
||||
Newline (Unicode U+00000A).
|
||||
.TP 7
|
||||
\e\fBr\fR
|
||||
Carriage-return (Unicode U+00000D).
|
||||
.TP 7
|
||||
\e\fBt\fR
|
||||
Tab (Unicode U+000009).
|
||||
.TP 7
|
||||
\e\fBv\fR
|
||||
Vertical tab (Unicode U+00000B).
|
||||
.TP 7
|
||||
\e\fB<newline>\fIwhiteSpace\fR
|
||||
.
|
||||
A single space character replaces the backslash, newline, and all spaces
|
||||
and tabs after the newline. This backslash sequence is unique in that it
|
||||
is replaced in a separate pre-pass before the command is actually parsed.
|
||||
This means that it will be replaced even when it occurs between braces,
|
||||
and the resulting space will be treated as a word separator if it is not
|
||||
in braces or quotes.
|
||||
.TP 7
|
||||
\e\e
|
||||
Backslash
|
||||
.PQ \e "" .
|
||||
.TP 7
|
||||
\e\fIooo\fR
|
||||
.
|
||||
The digits \fIooo\fR (one, two, or three of them) give a eight-bit octal
|
||||
value for the Unicode character that will be inserted, in the range
|
||||
\fI000\fR\(en\fI377\fR (i.e., the range U+000000\(enU+0000FF).
|
||||
The parser will stop just before this range overflows, or when
|
||||
the maximum of three digits is reached. The upper bits of the Unicode
|
||||
character will be 0.
|
||||
.TP 7
|
||||
\e\fBx\fIhh\fR
|
||||
.
|
||||
The hexadecimal digits \fIhh\fR (one or two of them) give an eight-bit
|
||||
hexadecimal value for the Unicode character that will be inserted. The upper
|
||||
bits of the Unicode character will be 0 (i.e., the character will be in the
|
||||
range U+000000\(enU+0000FF).
|
||||
.TP 7
|
||||
\e\fBu\fIhhhh\fR
|
||||
.
|
||||
The hexadecimal digits \fIhhhh\fR (one, two, three, or four of them) give a
|
||||
sixteen-bit hexadecimal value for the Unicode character that will be
|
||||
inserted. The upper bits of the Unicode character will be 0 (i.e., the
|
||||
character will be in the range U+000000\(enU+00FFFF).
|
||||
.TP 7
|
||||
\e\fBU\fIhhhhhhhh\fR
|
||||
.
|
||||
The hexadecimal digits \fIhhhhhhhh\fR (one up to eight of them) give a
|
||||
twenty-one-bit hexadecimal value for the Unicode character that will be
|
||||
inserted, in the range U+000000\(enU+10FFFF. The parser will stop just
|
||||
before this range overflows, or when the maximum of eight digits
|
||||
is reached. The upper bits of the Unicode character will be 0.
|
||||
.RS
|
||||
.PP
|
||||
The range U+010000\(enU+10FFFD is reserved for the future.
|
||||
.RE
|
||||
.PP
|
||||
Backslash substitution is not performed on words enclosed in braces,
|
||||
except for backslash-newline as described above.
|
||||
.RE
|
||||
.IP "[10] \fBComments.\fR"
|
||||
If a hash character
|
||||
.PQ #
|
||||
appears at a point where Tcl is
|
||||
expecting the first character of the first word of a command,
|
||||
then the hash character and the characters that follow it, up
|
||||
through the next newline, are treated as a comment and ignored.
|
||||
The comment character only has significance when it appears
|
||||
at the beginning of a command.
|
||||
.IP "[11] \fBOrder of substitution.\fR"
|
||||
Each character is processed exactly once by the Tcl interpreter
|
||||
as part of creating the words of a command.
|
||||
For example, if variable substitution occurs then no further
|
||||
substitutions are performed on the value of the variable; the
|
||||
value is inserted into the word verbatim.
|
||||
If command substitution occurs then the nested command is
|
||||
processed entirely by the recursive call to the Tcl interpreter;
|
||||
no substitutions are performed before making the recursive
|
||||
call and no additional substitutions are performed on the result
|
||||
of the nested script.
|
||||
.RS
|
||||
.PP
|
||||
Substitutions take place from left to right, and each substitution is
|
||||
evaluated completely before attempting to evaluate the next. Thus, a
|
||||
sequence like
|
||||
.PP
|
||||
.CS
|
||||
set y [set x 0][incr x][incr x]
|
||||
.CE
|
||||
.PP
|
||||
will always set the variable \fIy\fR to the value, \fI012\fR.
|
||||
.RE
|
||||
.IP "[12] \fBSubstitution and word boundaries.\fR"
|
||||
Substitutions do not affect the word boundaries of a command,
|
||||
except for argument expansion as specified in rule [5].
|
||||
For example, during variable substitution the entire value of
|
||||
the variable becomes part of a single word, even if the variable's
|
||||
value contains spaces.
|
||||
.SH KEYWORDS
|
||||
backslash, command, comment, script, substitution, variable
|
||||
'\" Local Variables:
|
||||
'\" mode: nroff
|
||||
'\" fill-column: 78
|
||||
'\" End:
|
||||
135
samples/Groff/create_view.l
Normal file
135
samples/Groff/create_view.l
Normal file
@@ -0,0 +1,135 @@
|
||||
.\\" auto-generated by docbook2man-spec $Revision: 1.1.1.1 $
|
||||
.TH "CREATE VIEW" "" "2005-11-05" "SQL - Language Statements" "SQL Commands"
|
||||
.SH NAME
|
||||
CREATE VIEW \- define a new view
|
||||
|
||||
.SH SYNOPSIS
|
||||
.sp
|
||||
.nf
|
||||
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW \fIname\fR [ ( \fIcolumn_name\fR [, ...] ) ]
|
||||
AS \fIquery\fR
|
||||
.sp
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBCREATE VIEW\fR defines a view of a query. The view
|
||||
is not physically materialized. Instead, the query is run every time
|
||||
the view is referenced in a query.
|
||||
.PP
|
||||
\fBCREATE OR REPLACE VIEW\fR is similar, but if a view
|
||||
of the same name already exists, it is replaced. You can only replace
|
||||
a view with a new query that generates the identical set of columns
|
||||
(i.e., same column names and data types).
|
||||
.PP
|
||||
If a schema name is given (for example, CREATE VIEW
|
||||
myschema.myview ...) then the view is created in the specified
|
||||
schema. Otherwise it is created in the current schema. Temporary
|
||||
views exist in a special schema, so a schema name may not be given
|
||||
when creating a temporary view. The name of the view must be
|
||||
distinct from the name of any other view, table, sequence, or index
|
||||
in the same schema.
|
||||
.SH "PARAMETERS"
|
||||
.TP
|
||||
\fBTEMPORARY or TEMP\fR
|
||||
If specified, the view is created as a temporary view.
|
||||
Temporary views are automatically dropped at the end of the
|
||||
current session. Existing
|
||||
permanent relations with the same name are not visible to the
|
||||
current session while the temporary view exists, unless they are
|
||||
referenced with schema-qualified names.
|
||||
|
||||
If any of the tables referenced by the view are temporary,
|
||||
the view is created as a temporary view (whether
|
||||
TEMPORARY is specified or not).
|
||||
.TP
|
||||
\fB\fIname\fB\fR
|
||||
The name (optionally schema-qualified) of a view to be created.
|
||||
.TP
|
||||
\fB\fIcolumn_name\fB\fR
|
||||
An optional list of names to be used for columns of the view.
|
||||
If not given, the column names are deduced from the query.
|
||||
.TP
|
||||
\fB\fIquery\fB\fR
|
||||
A query (that is, a \fBSELECT\fR statement) which will
|
||||
provide the columns and rows of the view.
|
||||
|
||||
Refer to SELECT [\fBselect\fR(l)]
|
||||
for more information about valid queries.
|
||||
.SH "NOTES"
|
||||
.PP
|
||||
Currently, views are read only: the system will not allow an insert,
|
||||
update, or delete on a view. You can get the effect of an updatable
|
||||
view by creating rules that rewrite inserts, etc. on the view into
|
||||
appropriate actions on other tables. For more information see
|
||||
CREATE RULE [\fBcreate_rule\fR(l)].
|
||||
.PP
|
||||
Use the DROP VIEW [\fBdrop_view\fR(l)]
|
||||
statement to drop views.
|
||||
.PP
|
||||
Be careful that the names and types of the view's columns will be
|
||||
assigned the way you want. For example,
|
||||
.sp
|
||||
.nf
|
||||
CREATE VIEW vista AS SELECT 'Hello World';
|
||||
.sp
|
||||
.fi
|
||||
is bad form in two ways: the column name defaults to ?column?,
|
||||
and the column data type defaults to \fBunknown\fR. If you want a
|
||||
string literal in a view's result, use something like
|
||||
.sp
|
||||
.nf
|
||||
CREATE VIEW vista AS SELECT text 'Hello World' AS hello;
|
||||
.sp
|
||||
.fi
|
||||
.PP
|
||||
Access to tables referenced in the view is determined by permissions of
|
||||
the view owner. However, functions called in the view are treated the
|
||||
same as if they had been called directly from the query using the view.
|
||||
Therefore the user of a view must have permissions to call all functions
|
||||
used by the view.
|
||||
.SH "EXAMPLES"
|
||||
.PP
|
||||
Create a view consisting of all comedy films:
|
||||
.sp
|
||||
.nf
|
||||
CREATE VIEW comedies AS
|
||||
SELECT *
|
||||
FROM films
|
||||
WHERE kind = 'Comedy';
|
||||
.sp
|
||||
.fi
|
||||
.SH "COMPATIBILITY"
|
||||
.PP
|
||||
The SQL standard specifies some additional capabilities for the
|
||||
\fBCREATE VIEW\fR statement:
|
||||
.sp
|
||||
.nf
|
||||
CREATE VIEW \fIname\fR [ ( \fIcolumn_name\fR [, ...] ) ]
|
||||
AS \fIquery\fR
|
||||
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
|
||||
.sp
|
||||
.fi
|
||||
.PP
|
||||
The optional clauses for the full SQL command are:
|
||||
.TP
|
||||
\fBCHECK OPTION\fR
|
||||
This option has to do with updatable views. All
|
||||
\fBINSERT\fR and \fBUPDATE\fR commands on the view
|
||||
will be checked to ensure data satisfy the view-defining
|
||||
condition (that is, the new data would be visible through the
|
||||
view). If they do not, the update will be rejected.
|
||||
.TP
|
||||
\fBLOCAL\fR
|
||||
Check for integrity on this view.
|
||||
.TP
|
||||
\fBCASCADED\fR
|
||||
Check for integrity on this view and on any dependent
|
||||
view. CASCADED is assumed if neither
|
||||
CASCADED nor LOCAL is specified.
|
||||
.PP
|
||||
.PP
|
||||
\fBCREATE OR REPLACE VIEW\fR is a
|
||||
PostgreSQL language extension.
|
||||
So is the concept of a temporary view.
|
||||
.SH "SEE ALSO"
|
||||
DROP VIEW [\fBdrop_view\fR(l)]
|
||||
1174
samples/Groff/fsinterface.ms
Normal file
1174
samples/Groff/fsinterface.ms
Normal file
File diff suppressed because it is too large
Load Diff
6
samples/HCL/example.hcl
Normal file
6
samples/HCL/example.hcl
Normal file
@@ -0,0 +1,6 @@
|
||||
consul = "1.2.3.4"
|
||||
|
||||
// This is a comment
|
||||
template "foo" {
|
||||
bar = "zip"
|
||||
}
|
||||
13
samples/HCL/example.tf
Normal file
13
samples/HCL/example.tf
Normal file
@@ -0,0 +1,13 @@
|
||||
resource "aws_instance" "web" {
|
||||
// Copies the myapp.conf file to /etc/myapp.conf
|
||||
provisioner "file" {
|
||||
source = "conf/myapp.conf"
|
||||
destination = "/etc/myapp.conf"
|
||||
}
|
||||
|
||||
// Copies the configs.d folder to /etc/configs.d
|
||||
provisioner "file" {
|
||||
source = "conf/configs.d"
|
||||
destination = "/etc"
|
||||
}
|
||||
}
|
||||
31
samples/HTML/rpanel.inc
Normal file
31
samples/HTML/rpanel.inc
Normal file
@@ -0,0 +1,31 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" charset="UTF-8" type="text/css" href="main.css">
|
||||
<meta charset="UTF-8">
|
||||
</head>
|
||||
<body>
|
||||
<div id="panel_header_main_form">
|
||||
<p id="panel_header_main_form_title">Поддержка:</p>
|
||||
</div>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>Москва:</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>+7-902-7-800-807</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>Регионы:</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>+7-902-7-800-807</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
5
samples/HTML/tailDel.inc
Normal file
5
samples/HTML/tailDel.inc
Normal file
@@ -0,0 +1,5 @@
|
||||
</UL>
|
||||
<P><A HREF="devices.html">Supported Targets</A></P>
|
||||
</BODY>
|
||||
</HEAD>
|
||||
|
||||
114
samples/Haskell/HsColour.hs
Normal file
114
samples/Haskell/HsColour.hs
Normal file
@@ -0,0 +1,114 @@
|
||||
-- | This is a library which colourises Haskell code.
|
||||
-- It currently has six output formats:
|
||||
--
|
||||
-- * ANSI terminal codes
|
||||
--
|
||||
-- * LaTeX macros
|
||||
--
|
||||
-- * HTML 3.2 with font tags
|
||||
--
|
||||
-- * HTML 4.01 with external CSS.
|
||||
--
|
||||
-- * XHTML 1.0 with internal CSS.
|
||||
--
|
||||
-- * mIRC chat client colour codes.
|
||||
--
|
||||
module Language.Haskell.HsColour (Output(..), ColourPrefs(..),
|
||||
hscolour) where
|
||||
|
||||
import Language.Haskell.HsColour.Colourise (ColourPrefs(..))
|
||||
import qualified Language.Haskell.HsColour.TTY as TTY
|
||||
import qualified Language.Haskell.HsColour.HTML as HTML
|
||||
import qualified Language.Haskell.HsColour.CSS as CSS
|
||||
import qualified Language.Haskell.HsColour.ACSS as ACSS
|
||||
import qualified Language.Haskell.HsColour.InlineCSS as ICSS
|
||||
import qualified Language.Haskell.HsColour.LaTeX as LaTeX
|
||||
import qualified Language.Haskell.HsColour.MIRC as MIRC
|
||||
import Data.List(mapAccumL, isPrefixOf)
|
||||
import Data.Maybe
|
||||
import Language.Haskell.HsColour.Output
|
||||
--import Debug.Trace
|
||||
|
||||
-- | Colourise Haskell source code with the given output format.
|
||||
hscolour :: Output -- ^ Output format.
|
||||
-> ColourPrefs -- ^ Colour preferences (for formats that support them).
|
||||
-> Bool -- ^ Whether to include anchors.
|
||||
-> Bool -- ^ Whether output document is partial or complete.
|
||||
-> String -- ^ Title for output.
|
||||
-> Bool -- ^ Whether input document is literate haskell or not
|
||||
-> String -- ^ Haskell source code.
|
||||
-> String -- ^ Coloured Haskell source code.
|
||||
hscolour output pref anchor partial title False =
|
||||
(if partial then id else top'n'tail output title) .
|
||||
hscolour' output pref anchor
|
||||
hscolour output pref anchor partial title True =
|
||||
(if partial then id else top'n'tail output title) .
|
||||
concatMap chunk . joinL . classify . inlines
|
||||
where
|
||||
chunk (Code c) = hscolour' output pref anchor c
|
||||
chunk (Lit c) = c
|
||||
|
||||
-- | The actual colourising worker, despatched on the chosen output format.
|
||||
hscolour' :: Output -- ^ Output format.
|
||||
-> ColourPrefs -- ^ Colour preferences (for formats that support them)
|
||||
-> Bool -- ^ Whether to include anchors.
|
||||
-> String -- ^ Haskell source code.
|
||||
-> String -- ^ Coloured Haskell source code.
|
||||
hscolour' TTY pref _ = TTY.hscolour pref
|
||||
hscolour' (TTYg tt) pref _ = TTY.hscolourG tt pref
|
||||
hscolour' MIRC pref _ = MIRC.hscolour pref
|
||||
hscolour' LaTeX pref _ = LaTeX.hscolour pref
|
||||
hscolour' HTML pref anchor = HTML.hscolour pref anchor
|
||||
hscolour' CSS _ anchor = CSS.hscolour anchor
|
||||
hscolour' ICSS pref anchor = ICSS.hscolour pref anchor
|
||||
hscolour' ACSS _ anchor = ACSS.hscolour anchor
|
||||
|
||||
-- | Choose the right headers\/footers, depending on the output format.
|
||||
top'n'tail :: Output -- ^ Output format
|
||||
-> String -- ^ Title for output
|
||||
-> (String->String) -- ^ Output transformer
|
||||
top'n'tail TTY _ = id
|
||||
top'n'tail (TTYg _) _ = id
|
||||
top'n'tail MIRC _ = id
|
||||
top'n'tail LaTeX title = LaTeX.top'n'tail title
|
||||
top'n'tail HTML title = HTML.top'n'tail title
|
||||
top'n'tail CSS title = CSS.top'n'tail title
|
||||
top'n'tail ICSS title = ICSS.top'n'tail title
|
||||
top'n'tail ACSS title = CSS.top'n'tail title
|
||||
|
||||
-- | Separating literate files into code\/comment chunks.
|
||||
data Lit = Code {unL :: String} | Lit {unL :: String} deriving (Show)
|
||||
|
||||
-- Re-implementation of 'lines', for better efficiency (but decreased laziness).
|
||||
-- Also, importantly, accepts non-standard DOS and Mac line ending characters.
|
||||
-- And retains the trailing '\n' character in each resultant string.
|
||||
inlines :: String -> [String]
|
||||
inlines s = lines' s id
|
||||
where
|
||||
lines' [] acc = [acc []]
|
||||
lines' ('\^M':'\n':s) acc = acc ['\n'] : lines' s id -- DOS
|
||||
--lines' ('\^M':s) acc = acc ['\n'] : lines' s id -- MacOS
|
||||
lines' ('\n':s) acc = acc ['\n'] : lines' s id -- Unix
|
||||
lines' (c:s) acc = lines' s (acc . (c:))
|
||||
|
||||
|
||||
-- | The code for classify is largely stolen from Language.Preprocessor.Unlit.
|
||||
classify :: [String] -> [Lit]
|
||||
classify [] = []
|
||||
classify (x:xs) | "\\begin{code}"`isPrefixOf`x
|
||||
= Lit x: allProg xs
|
||||
where allProg [] = [] -- Should give an error message,
|
||||
-- but I have no good position information.
|
||||
allProg (x:xs) | "\\end{code}"`isPrefixOf`x
|
||||
= Lit x: classify xs
|
||||
allProg (x:xs) = Code x: allProg xs
|
||||
classify (('>':x):xs) = Code ('>':x) : classify xs
|
||||
classify (x:xs) = Lit x: classify xs
|
||||
|
||||
-- | Join up chunks of code\/comment that are next to each other.
|
||||
joinL :: [Lit] -> [Lit]
|
||||
joinL [] = []
|
||||
joinL (Code c:Code c2:xs) = joinL (Code (c++c2):xs)
|
||||
joinL (Lit c :Lit c2 :xs) = joinL (Lit (c++c2):xs)
|
||||
joinL (any:xs) = any: joinL xs
|
||||
|
||||
252
samples/HyPhy/AAModelComparison.bf
Normal file
252
samples/HyPhy/AAModelComparison.bf
Normal file
@@ -0,0 +1,252 @@
|
||||
if (Rows (modelMatrixList) == 0)
|
||||
{
|
||||
modelMatrixList =
|
||||
{
|
||||
{"Equal Input", "EIAA.mdl", "19"}
|
||||
{"Dayhoff","Dayhoff.mdl","0"}
|
||||
{"Dayhoff+F","Dayhoff_F.mdl","19"}
|
||||
{"JTT", "Jones.mdl", "0"}
|
||||
{"JTT+F", "Jones_F.mdl", "19"}
|
||||
{"WAG", "WAG.mdl", "0"}
|
||||
{"WAG+F", "WAG_F.mdl", "19"}
|
||||
{"rtREV", "rtREV.mdl", "0"}
|
||||
{"rtREV+F", "rtREV_F.mdl", "19"}
|
||||
{"mtMAM", "mtMAM.mdl", "0"}
|
||||
{"mtMAM+F", "mtMAM_F.mdl", "19"}
|
||||
{"mtREV 24", "mtREV_24.mdl", "0"}
|
||||
{"mtREV 24+F", "mtREV_24_F.mdl", "19"}
|
||||
{"HIV within", "HIVwithin.mdl", "0"}
|
||||
{"HIV within+F", "HIVwithin+F.mdl", "19"}
|
||||
{"HIV between", "HIVbetween.mdl", "0"}
|
||||
{"HIV between+F", "HIVbetween+F.mdl", "19"}
|
||||
{"REV-1 step", "reducedREV.mdl", "19"}
|
||||
{"REV", "mtREV.mdl", "19"}
|
||||
};
|
||||
}
|
||||
|
||||
/*___________________________________________________________________________________________________________*/
|
||||
|
||||
function runAModel (modelID, fileName, xtraP, midx)
|
||||
{
|
||||
ExecuteCommands ("#include \"TemplateModels/"+fileName+"\";");
|
||||
Tree givenTree = treeString;
|
||||
LikelihoodFunction lf = (filteredData,givenTree);
|
||||
|
||||
GetString (lf_info, lf, -1);
|
||||
locals = lf_info["Local Independent"];
|
||||
|
||||
if (Columns (branchLengthStash))
|
||||
{
|
||||
USE_LAST_RESULTS = 1;
|
||||
for (_iv = 0; _iv < Columns (locals); _iv = _iv+1)
|
||||
{
|
||||
ExecuteCommands (locals[_iv] + "=1;\n");
|
||||
}
|
||||
currentBL = BranchLength (givenTree,0);
|
||||
currentBN = BranchName (givenTree,-1);
|
||||
for (_iv = 0; _iv < Columns (currentBN); _iv = _iv+1)
|
||||
{
|
||||
ExecuteCommands ("givenTree."+currentBN[_iv]+".t="+branchLengthStash[_iv]/currentBL+";");
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (_iv = 0; _iv < Columns (locals); _iv = _iv+1)
|
||||
{
|
||||
ExecuteCommands (locals[_iv] + "=0.1;\n");
|
||||
}
|
||||
USE_LAST_RESULTS = 1;
|
||||
}
|
||||
|
||||
Optimize (res,lf);
|
||||
|
||||
fprintf (stdout, "| ", modelID);
|
||||
for (k=0; k<maxModelWidth-Abs(modelID)-1; k=k+1)
|
||||
{
|
||||
fprintf (stdout, " ");
|
||||
}
|
||||
|
||||
params = res[1][1]+xtraP;
|
||||
AIC = 2(-res[1][0]+params);
|
||||
|
||||
if (filteredData.sites-params>1)
|
||||
{
|
||||
cAIC = 2(-res[1][0]+params*(filteredData.sites/(filteredData.sites-params-1)));
|
||||
}
|
||||
else
|
||||
{
|
||||
cAIC = 0;
|
||||
}
|
||||
|
||||
branchLengths = BranchLength (givenTree,-1);
|
||||
TL = 0;
|
||||
for (k=Rows(branchLengths)*Columns(branchLengths)-1; k>=0; k=k-1)
|
||||
{
|
||||
TL = TL + branchLengths[k];
|
||||
}
|
||||
|
||||
fprintf (stdout, "| ", Format (res[1][0],14,3), " | ", Format (params,5,0), " | ",
|
||||
Format (AIC, 9,3), " | ",);
|
||||
|
||||
if (cAIC > 0)
|
||||
{
|
||||
fprintf (stdout, Format (cAIC,11,3), " | ");
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf (stdout, " N/A | ");
|
||||
}
|
||||
|
||||
fprintf (stdout, Format (TL,11,3), " |\n", sepString);
|
||||
|
||||
resultMatrix[midx][0] = res[1][0];
|
||||
resultMatrix[midx][1] = params;
|
||||
resultMatrix[midx][2] = AIC;
|
||||
resultMatrix[midx][3] = cAIC;
|
||||
resultMatrix[midx][4] = TL;
|
||||
|
||||
if (AIC < bestAIC)
|
||||
{
|
||||
bestAIC = AIC;
|
||||
bestAICidx = midx;
|
||||
branchLengthStash = BranchLength (givenTree,-1);
|
||||
}
|
||||
|
||||
if (cAIC > 0)
|
||||
{
|
||||
if (bestCAIC > cAIC)
|
||||
{
|
||||
bestCAIC = cAIC;
|
||||
bestCAICidx = midx;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*___________________________________________________________________________________________________________*/
|
||||
|
||||
|
||||
|
||||
maxModelWidth = 7;
|
||||
skipCodeSelectionStep = 0;
|
||||
|
||||
ChoiceList (doREV, "Include REV?", 1, SKIP_NONE, "Yes", "Include REV and reduced REV models. CAUTION: these models take a long time to fit.",
|
||||
"No", "Only use empirical models");
|
||||
|
||||
if (doREV < 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (doREV == 0)
|
||||
{
|
||||
#include "TemplateModels/chooseGeneticCode.def";
|
||||
skipCodeSelectionStep = 1;
|
||||
}
|
||||
|
||||
modelCount = Rows (modelMatrixList) - 2*doREV;
|
||||
|
||||
for (k=0; k<modelCount; k=k+1)
|
||||
{
|
||||
maxModelWidth = Max(maxModelWidth,Abs (modelMatrixList[k][0])+2);
|
||||
}
|
||||
|
||||
sepString = "";
|
||||
capString = "";
|
||||
sepString * 256;
|
||||
sepString * "+";
|
||||
|
||||
capString * 256;
|
||||
capString * "| Model";
|
||||
|
||||
for (k=0; k<maxModelWidth; k=k+1)
|
||||
{
|
||||
sepString * "-";
|
||||
}
|
||||
|
||||
for (k=0; k<maxModelWidth-6; k=k+1)
|
||||
{
|
||||
capString * " ";
|
||||
}
|
||||
|
||||
capString * "| Log Likelihood | #prms | AIC Score | c-AIC Score | Tree Length |\n";
|
||||
sepString * "+----------------+-------+-----------+-------------+-------------+\n";
|
||||
sepString * 0;
|
||||
capString * 0;
|
||||
|
||||
branchLengthStash = 0;
|
||||
|
||||
SKIP_MODEL_PARAMETER_LIST = 0;
|
||||
|
||||
#include "TemplateModels/modelParameters2.mdl";
|
||||
if (modelType == 1)
|
||||
{
|
||||
#include "TemplateModels/defineGamma.mdl";
|
||||
}
|
||||
|
||||
if (modelType == 2)
|
||||
{
|
||||
#include "TemplateModels/defineHM.mdl";
|
||||
}
|
||||
SKIP_MODEL_PARAMETER_LIST = 1;
|
||||
|
||||
SetDialogPrompt ("Please load an amino-acid data file:");
|
||||
|
||||
DataSet ds = ReadDataFile (PROMPT_FOR_FILE);
|
||||
DataSetFilter filteredData = CreateFilter (ds,1);
|
||||
|
||||
fprintf (stdout,"\nRunning aminoacid model comparisons on ", LAST_FILE_PATH, "\n\nThe alignment has ",ds.species, " sequences and ", ds.sites, " sites\n");
|
||||
|
||||
_DO_TREE_REBALANCE_ = 1;
|
||||
|
||||
#include "queryTree.bf";
|
||||
|
||||
resultMatrix = {modelCount, 5};
|
||||
|
||||
fprintf (stdout, "\n",sepString,capString,sepString);
|
||||
|
||||
bestAIC = 1e100;
|
||||
bestCAIC = 1e100;
|
||||
bestAICidx = 0;
|
||||
bestCAICidx = -1;
|
||||
|
||||
for (mid=0; mid<modelCount; mid=mid+1)
|
||||
{
|
||||
runAModel (modelMatrixList[mid][0], modelMatrixList[mid][1], 0+modelMatrixList[mid][2], mid);
|
||||
}
|
||||
|
||||
fprintf (stdout, "\n\nBest AIC model:\n\t", modelMatrixList[bestAICidx][0], " with the score of ", bestAIC);
|
||||
|
||||
if (bestCAICidx>=0)
|
||||
{
|
||||
fprintf (stdout, "\n\nBest c-AIC model:\n\t", modelMatrixList[bestCAICidx][0], " with the score of ", bestCAIC);
|
||||
}
|
||||
|
||||
labelMatrix = {{"Log-likelihood","Parameters","AIC","c-AIC","Total tree length",""}};
|
||||
|
||||
aaString = "Model";
|
||||
|
||||
for (fC = 0; fC < modelCount; fC = fC+1)
|
||||
{
|
||||
aaString = aaString + ";" + modelMatrixList[fC][0];
|
||||
}
|
||||
|
||||
USE_LAST_RESULTS = 0;
|
||||
|
||||
labelMatrix[5] = aaString;
|
||||
skipCodeSelectionStep = 0;
|
||||
OpenWindow (CHARTWINDOW,{{"Model Fits"}
|
||||
{"labelMatrix"},
|
||||
{"resultMatrix"},
|
||||
{"Bar Chart"},
|
||||
{"Index"},
|
||||
{"c-AIC"},
|
||||
{"Model Index"},
|
||||
{""},
|
||||
{"AIC"}
|
||||
},
|
||||
"SCREEN_WIDTH-60;SCREEN_HEIGHT-60;30;30");
|
||||
1046
samples/HyPhy/CodonModelCompare.bf
Normal file
1046
samples/HyPhy/CodonModelCompare.bf
Normal file
File diff suppressed because it is too large
Load Diff
1113
samples/HyPhy/MFPositiveSelection.bf
Normal file
1113
samples/HyPhy/MFPositiveSelection.bf
Normal file
File diff suppressed because it is too large
Load Diff
1
samples/HyPhy/MatrixIndexing.bf
Executable file
1
samples/HyPhy/MatrixIndexing.bf
Executable file
@@ -0,0 +1 @@
|
||||
fprintf (stdout, "\n1). Spawning a zero-populated 5x6 matrix and setting it's values to random numbers in [0,1].\n");
|
||||
147
samples/HyPhy/MolecularClock.bf
Normal file
147
samples/HyPhy/MolecularClock.bf
Normal file
@@ -0,0 +1,147 @@
|
||||
#include "molclockBootstrap.bf";
|
||||
|
||||
RESTORE_GLOBALS = 1;
|
||||
_DO_TREE_REBALANCE_ = 0;
|
||||
VERBOSITY_LEVEL = -1;
|
||||
|
||||
function RestoreGlobalValues (lfIndex)
|
||||
{
|
||||
if (lfIndex==0)
|
||||
{
|
||||
for (i=0;i<SAVE_GLOBALS;i=i+1)
|
||||
{
|
||||
SetParameter (lf,i,globalSpoolMatrix[i]);
|
||||
}
|
||||
}
|
||||
if (lfIndex==1)
|
||||
{
|
||||
for (i=0;i<SAVE_GLOBALS2;i=i+1)
|
||||
{
|
||||
SetParameter (lfConstrained,i,globalSpoolMatrix2[i]);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
fprintf(stdout,"\n ---- RUNNING MOLECULAR CLOCK ANALYSIS ---- \n");
|
||||
|
||||
ChoiceList (dataType,"Data type",1,SKIP_NONE,"Nucleotide/Protein","Nucleotide or amino-acid (protein).",
|
||||
"Codon","Codon (several available genetic codes).");
|
||||
|
||||
if (dataType<0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dataType)
|
||||
{
|
||||
NICETY_LEVEL = 3;
|
||||
#include "TemplateModels/chooseGeneticCode.def";
|
||||
}
|
||||
|
||||
SetDialogPrompt ("Choose the data file:");
|
||||
|
||||
DataSet ds = ReadDataFile (PROMPT_FOR_FILE);
|
||||
|
||||
fprintf (stdout,"The following data was read:\n",ds,"\n");
|
||||
|
||||
if (dataType)
|
||||
{
|
||||
DataSetFilter filteredData = CreateFilter (ds,3,"","",GeneticCodeExclusions);
|
||||
}
|
||||
else
|
||||
{
|
||||
DataSetFilter filteredData = CreateFilter (ds,1);
|
||||
}
|
||||
|
||||
SelectTemplateModel(filteredData);
|
||||
|
||||
#include "queryTree.bf";
|
||||
|
||||
global RelRatio;
|
||||
|
||||
RelRatio = 1.0;
|
||||
|
||||
relationString = ":=RelRatio*";
|
||||
|
||||
parameter2Constrain = 0;
|
||||
|
||||
if (Rows("LAST_MODEL_PARAMETER_LIST")>1)
|
||||
{
|
||||
ChoiceList (parameter2Constrain, "Parameter(s) to constrain:",1,SKIP_NONE,LAST_MODEL_PARAMETER_LIST);
|
||||
|
||||
if (parameter2Constrain<0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (parameter2Constrain==0)
|
||||
{
|
||||
parameter2ConstrainString = "";
|
||||
for (parameter2Constrain=Rows("LAST_MODEL_PARAMETER_LIST")-1; parameter2Constrain; parameter2Constrain = parameter2Constrain-1)
|
||||
{
|
||||
GetString (funnyString,LAST_MODEL_PARAMETER_LIST,parameter2Constrain);
|
||||
parameter2ConstrainString = parameter2ConstrainString + funnyString + ",";
|
||||
}
|
||||
GetString (funnyString,LAST_MODEL_PARAMETER_LIST,0);
|
||||
parameter2ConstrainString = parameter2ConstrainString + funnyString;
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString (parameter2ConstrainString,LAST_MODEL_PARAMETER_LIST,parameter2Constrain-1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString (parameter2ConstrainString,LAST_MODEL_PARAMETER_LIST,0);
|
||||
}
|
||||
|
||||
timer = Time(0);
|
||||
|
||||
LikelihoodFunction lf = (filteredData,givenTree);
|
||||
|
||||
Optimize (res,lf);
|
||||
|
||||
separator = "*-----------------------------------------------------------*";
|
||||
|
||||
fprintf (stdout, "\n", separator, "\nRESULTS WITHOUT THE CLOCK:\n",lf);
|
||||
|
||||
fullModelLik = res[1][0];
|
||||
|
||||
fullVars = res[1][1];
|
||||
|
||||
/* now specify the constraint */
|
||||
|
||||
Tree clockTree = treeString;
|
||||
|
||||
ExecuteCommands ("MolecularClock (clockTree,"+parameter2ConstrainString+");");
|
||||
|
||||
LikelihoodFunction lfConstrained = (filteredData, clockTree);
|
||||
|
||||
USE_LAST_RESULTS = 1;
|
||||
Optimize (res1,lfConstrained);
|
||||
USE_LAST_RESULTS = 0;
|
||||
|
||||
SAVE_GLOBALS = res1[1][2];
|
||||
|
||||
if (SAVE_GLOBALS)
|
||||
{
|
||||
globalSpoolMatrix = {1,SAVE_GLOBALS};
|
||||
|
||||
for (i=0;i<SAVE_GLOBALS;i=i+1)
|
||||
{
|
||||
globalSpoolMatrix[i]=res1[0][i];
|
||||
}
|
||||
}
|
||||
|
||||
fprintf (stdout, "\n", separator,"\n\nRESULTS WITH THE CLOCK:\n",lfConstrained);
|
||||
|
||||
lnLikDiff = 2(fullModelLik-res1[1][0]);
|
||||
|
||||
degFDiff = fullVars - res1[1][1];
|
||||
|
||||
fprintf (stdout, "\n", separator,"\n\n-2(Ln Likelihood Ratio)=",lnLikDiff,"\n","Constrained parameters:",Format(degFDiff,0,0));
|
||||
|
||||
fprintf (stdout, "\nP-Value:",1-CChi2(lnLikDiff,degFDiff));
|
||||
|
||||
fprintf (stdout, "\nCPU time taken: ", Time(0)-timer, " seconds.\n");
|
||||
1025
samples/HyPhy/dNdSDistributionComparison.bf
Normal file
1025
samples/HyPhy/dNdSDistributionComparison.bf
Normal file
File diff suppressed because it is too large
Load Diff
11003
samples/HyPhy/hyphy_cmds.bf
Normal file
11003
samples/HyPhy/hyphy_cmds.bf
Normal file
File diff suppressed because one or more lines are too long
1
samples/HyPhy/profile_test.bf
Executable file
1
samples/HyPhy/profile_test.bf
Executable file
@@ -0,0 +1 @@
|
||||
#profile START;
|
||||
1104
samples/Isabelle ROOT/filenames/ROOT
Normal file
1104
samples/Isabelle ROOT/filenames/ROOT
Normal file
File diff suppressed because it is too large
Load Diff
742
samples/JFlex/LexScan.flex
Normal file
742
samples/JFlex/LexScan.flex
Normal file
@@ -0,0 +1,742 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* JFlex 1.7.0-SNAPSHOT *
|
||||
* Copyright (C) 1998-2015 Gerwin Klein <lsf@jflex.de> *
|
||||
* All rights reserved. *
|
||||
* *
|
||||
* License: BSD *
|
||||
* *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
package jflex;
|
||||
|
||||
import java_cup.runtime.Symbol;
|
||||
import java.io.*;
|
||||
import java.util.Stack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
import jflex.unicode.UnicodeProperties;
|
||||
|
||||
%%
|
||||
|
||||
%final
|
||||
%public
|
||||
%class LexScan
|
||||
%implements sym, java_cup.runtime.Scanner
|
||||
%function next_token
|
||||
|
||||
%type Symbol
|
||||
%unicode
|
||||
|
||||
%column
|
||||
%line
|
||||
|
||||
%eofclose
|
||||
|
||||
%state COMMENT, STATELIST, MACROS, REGEXPSTART
|
||||
%state REGEXP, JAVA_CODE, STATES, STRING_CONTENT
|
||||
%state CHARCLASS, COPY, REPEATEXP, EATWSPNL
|
||||
%state CTOR_ARG, REGEXP_CODEPOINT_SEQUENCE
|
||||
%state STRING_CODEPOINT_SEQUENCE, CHARCLASS_CODEPOINT
|
||||
|
||||
%inputstreamctor false
|
||||
|
||||
%cupdebug
|
||||
|
||||
%{
|
||||
int balance = 0;
|
||||
int commentbalance = 0;
|
||||
int action_line = 0;
|
||||
int bufferSize = 16384;
|
||||
|
||||
File file;
|
||||
Stack<File> files = new Stack<File>();
|
||||
|
||||
StringBuilder userCode = new StringBuilder();
|
||||
|
||||
String classCode;
|
||||
String initCode;
|
||||
String initThrow;
|
||||
String eofCode;
|
||||
String eofThrow;
|
||||
String lexThrow;
|
||||
String eofVal;
|
||||
String scanErrorException;
|
||||
String cupSymbol = "sym";
|
||||
|
||||
StringBuilder actionText = new StringBuilder();
|
||||
StringBuilder string = new StringBuilder();
|
||||
|
||||
private UnicodeProperties unicodeProperties;
|
||||
|
||||
boolean charCount;
|
||||
boolean lineCount;
|
||||
boolean columnCount;
|
||||
boolean cupCompatible;
|
||||
boolean cup2Compatible;
|
||||
boolean cupDebug;
|
||||
boolean isInteger;
|
||||
boolean isIntWrap;
|
||||
boolean isYYEOF;
|
||||
boolean notUnix;
|
||||
boolean isPublic;
|
||||
boolean isFinal;
|
||||
boolean isAbstract;
|
||||
boolean bolUsed;
|
||||
boolean standalone;
|
||||
boolean debugOption;
|
||||
boolean caseless;
|
||||
boolean inclusive_states;
|
||||
boolean eofclose;
|
||||
boolean isASCII;
|
||||
// TODO: In the version of JFlex after 1.6, the InputStream ctor
|
||||
// TODO: will never be emitted, and this option will cease to exist.
|
||||
boolean emitInputStreamCtor = Options.emitInputStreamCtor;
|
||||
|
||||
String isImplementing;
|
||||
String isExtending;
|
||||
String className = "Yylex";
|
||||
String functionName;
|
||||
String tokenType;
|
||||
String visibility = "public";
|
||||
|
||||
List<String> ctorArgs = new ArrayList<String>();
|
||||
List<String> ctorTypes = new ArrayList<String>();
|
||||
|
||||
LexicalStates states = new LexicalStates();
|
||||
|
||||
List<Action> actions = new ArrayList<Action>();
|
||||
|
||||
private int nextState;
|
||||
|
||||
boolean macroDefinition;
|
||||
|
||||
Timer t = new Timer();
|
||||
|
||||
// CharClasses.init() is delayed until UnicodeProperties.init() has been called,
|
||||
// since the max char code won't be known until then.
|
||||
private CharClasses charClasses = new CharClasses();
|
||||
|
||||
public CharClasses getCharClasses() {
|
||||
return charClasses;
|
||||
}
|
||||
|
||||
public int currentLine() {
|
||||
return yyline;
|
||||
}
|
||||
|
||||
public void setFile(File file) {
|
||||
this.file = file;
|
||||
}
|
||||
|
||||
private Symbol symbol(int type, Object value) {
|
||||
return new Symbol(type, yyline, yycolumn, value);
|
||||
}
|
||||
|
||||
private Symbol symbol(int type) {
|
||||
return new Symbol(type, yyline, yycolumn);
|
||||
}
|
||||
|
||||
// updates line and column count to the beginning of the first
|
||||
// non whitespace character in yytext, but leaves yyline+yycolumn
|
||||
// untouched
|
||||
private Symbol symbol_countUpdate(int type, Object value) {
|
||||
int lc = yyline;
|
||||
int cc = yycolumn;
|
||||
String text = yytext();
|
||||
|
||||
for (int i=0; i < text.length(); i++) {
|
||||
char c = text.charAt(i);
|
||||
|
||||
if (c != '\n' && c != '\r' && c != ' ' && c != '\t' )
|
||||
return new Symbol(type, lc, cc, value);
|
||||
|
||||
if (c == '\n') {
|
||||
lc++;
|
||||
cc = 0;
|
||||
}
|
||||
else
|
||||
cc++;
|
||||
}
|
||||
|
||||
return new Symbol(type, yyline, yycolumn, value);
|
||||
}
|
||||
|
||||
private String makeMacroIdent() {
|
||||
String matched = yytext().trim();
|
||||
return matched.substring(1, matched.length()-1).trim();
|
||||
}
|
||||
|
||||
public static String conc(Object a, Object b) {
|
||||
if (a == null && b == null) return null;
|
||||
if (a == null) return b.toString();
|
||||
if (b == null) return a.toString();
|
||||
|
||||
return a.toString()+b.toString();
|
||||
}
|
||||
|
||||
public static String concExc(Object a, Object b) {
|
||||
if (a == null && b == null) return null;
|
||||
if (a == null) return b.toString();
|
||||
if (b == null) return a.toString();
|
||||
|
||||
return a.toString()+", "+b.toString();
|
||||
}
|
||||
|
||||
public UnicodeProperties getUnicodeProperties() {
|
||||
return unicodeProperties;
|
||||
}
|
||||
|
||||
private void populateDefaultVersionUnicodeProperties() {
|
||||
try {
|
||||
unicodeProperties = new UnicodeProperties();
|
||||
} catch (UnicodeProperties.UnsupportedUnicodeVersionException e) {
|
||||
throw new ScannerException
|
||||
(file, ErrorMessages.UNSUPPORTED_UNICODE_VERSION, yyline);
|
||||
}
|
||||
charClasses.init
|
||||
(Options.jlex ? 127 : unicodeProperties.getMaximumCodePoint(), this);
|
||||
}
|
||||
|
||||
private void includeFile(String filePath) {
|
||||
File f = new File(file.getParentFile(), filePath);
|
||||
if ( !f.canRead() )
|
||||
throw new ScannerException(file,ErrorMessages.NOT_READABLE, yyline);
|
||||
// check for cycle
|
||||
if (files.search(f) > 0)
|
||||
throw new ScannerException(file,ErrorMessages.FILE_CYCLE, yyline);
|
||||
try {
|
||||
yypushStream( new FileReader(f) );
|
||||
files.push(file);
|
||||
file = f;
|
||||
Out.println("Including \""+file+"\"");
|
||||
}
|
||||
catch (FileNotFoundException e) {
|
||||
throw new ScannerException(file,ErrorMessages.NOT_READABLE, yyline);
|
||||
}
|
||||
}
|
||||
%}
|
||||
|
||||
%init{
|
||||
states.insert("YYINITIAL", true);
|
||||
%init}
|
||||
|
||||
|
||||
Digit = [0-9]
|
||||
HexDigit = [0-9a-fA-F]
|
||||
OctDigit = [0-7]
|
||||
|
||||
Number = {Digit}+
|
||||
HexNumber = \\ x {HexDigit} {2}
|
||||
OctNumber = \\ [0-3]? {OctDigit} {1, 2}
|
||||
|
||||
// Unicode4 can encode chars only in the BMP with the 16 bits provided by its
|
||||
// 4 hex digits.
|
||||
Unicode4 = \\ u {HexDigit} {4}
|
||||
|
||||
// Unicode6 can encode all Unicode chars, both in the BMP and in the
|
||||
// supplementary planes -- only 21 bits are required as of Unicode 5.0,
|
||||
// but its six hex digits provide 24 bits.
|
||||
Unicode6 = \\ U {HexDigit} {6}
|
||||
|
||||
// see http://www.unicode.org/unicode/reports/tr18/
|
||||
WSP = [ \t\b]
|
||||
WSPNL = [\u2028\u2029\u000A\u000B\u000C\u000D\u0085\t\b\ ]
|
||||
NWSPNL = [^\u2028\u2029\u000A\u000B\u000C\u000D\u0085\t\b\ ]
|
||||
NL = [\u2028\u2029\u000A\u000B\u000C\u000D\u0085] | \u000D\u000A
|
||||
NNL = [^\u2028\u2029\u000A\u000B\u000C\u000D\u0085]
|
||||
|
||||
Ident = {IdentStart} {IdentPart}*
|
||||
QualIdent = {Ident} ( {WSP}* "." {WSP}* {Ident} )*
|
||||
QUIL = {QualIdent} ( {WSP}* "," {WSP}* {QualIdent} )*
|
||||
Array = "[" {WSP}* "]"
|
||||
ParamPart = {IdentStart}|{IdentPart}|"<"|">"|","|{WSP}|"&"|"?"|"."
|
||||
GenParam = "<" {ParamPart}+ ">"
|
||||
ClassT = {Ident} ({WSP}* {GenParam})?
|
||||
QClassT = {QualIdent} ({WSP}* {GenParam})?
|
||||
ArrType = ({GenParam} {WSP}*)? {QClassT} ({WSP}* {Array})*
|
||||
|
||||
IdentStart = [:jletter:]
|
||||
IdentPart = [:jletterdigit:]
|
||||
|
||||
JFlexCommentChar = [^*/]|"/"+[^*/]|"*"+[^*/]
|
||||
JFlexComment = {JFlexCommentChar}+
|
||||
|
||||
/* Java comments */
|
||||
JavaComment = {TraditionalComment}|{EndOfLineComment}
|
||||
TraditionalComment = "/*"{CommentContent}\*+"/"
|
||||
EndOfLineComment = "//".*{NL}
|
||||
|
||||
CommentContent = ([^*]|\*+[^*/])*
|
||||
|
||||
StringCharacter = [^\u2028\u2029\u000A\u000B\u000C\u000D\u0085\"\\]
|
||||
|
||||
CharLiteral = \'([^\u2028\u2029\u000A\u000B\u000C\u000D\u0085\'\\]|{EscapeSequence})\'
|
||||
StringLiteral = \"({StringCharacter}|{EscapeSequence})*\"
|
||||
|
||||
EscapeSequence = \\[^\u2028\u2029\u000A\u000B\u000C\u000D\u0085]|\\+u{HexDigit}{4}|\\[0-3]?{OctDigit}{1,2}
|
||||
|
||||
/* \\(b|t|n|f|r|\"|\'|\\|[0-3]?{OctDigit}{1,2}|u{HexDigit}{4}) */
|
||||
|
||||
JavaRest = [^\{\}\"\'/]|"/"[^*/]
|
||||
JavaCode = ({JavaRest}|{StringLiteral}|{CharLiteral}|{JavaComment})+
|
||||
|
||||
DottedVersion = [1-9][0-9]*(\.[0-9]+){0,2}
|
||||
|
||||
%%
|
||||
|
||||
<YYINITIAL> {
|
||||
"%%".*{NL}? {
|
||||
t.start();
|
||||
yybegin(MACROS);
|
||||
macroDefinition = true;
|
||||
return symbol(USERCODE,userCode);
|
||||
}
|
||||
.*{NL} | .+ { userCode.append(yytext()); }
|
||||
<<EOF>> { return symbol(EOF); }
|
||||
}
|
||||
|
||||
<MACROS> ("%{"|"%init{"|"%initthrow{"|"%eof{"|"%eofthrow{"|"%yylexthrow{"|"%eofval{").*{NL}
|
||||
{ string.setLength(0); yybegin(COPY); }
|
||||
<COPY> {
|
||||
"%}".*{NL} { classCode = conc(classCode,string); yybegin(MACROS); }
|
||||
"%init}".*{NL} { initCode = conc(initCode,string); yybegin(MACROS); }
|
||||
"%initthrow}".*{NL} { initThrow = concExc(initThrow,string); yybegin(MACROS); }
|
||||
"%eof}".*{NL} { eofCode = conc(eofCode,string); yybegin(MACROS); }
|
||||
"%eofthrow}".*{NL} { eofThrow = concExc(eofThrow,string); yybegin(MACROS); }
|
||||
"%yylexthrow}".*{NL} { lexThrow = concExc(lexThrow,string); yybegin(MACROS); }
|
||||
"%eofval}".*{NL} { eofVal = string.toString(); yybegin(MACROS); }
|
||||
|
||||
.*{NL} { string.append(yytext()); }
|
||||
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_MACROS); }
|
||||
}
|
||||
|
||||
|
||||
<MACROS> ^"%s" ("tate" "s"?)? {WSP}+ { inclusive_states = true; yybegin(STATELIST); }
|
||||
<MACROS> ^"%x" ("state" "s"?)? {WSP}+ { inclusive_states = false; yybegin(STATELIST); }
|
||||
<STATELIST> {
|
||||
{Ident} { states.insert(yytext(),inclusive_states); }
|
||||
([\ \t]*","[\ \t]*)|([\ \t]+) { }
|
||||
{NL} { yybegin(MACROS); }
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_MACROS); }
|
||||
}
|
||||
|
||||
<MACROS> {
|
||||
"%char" { charCount = true; }
|
||||
"%line" { lineCount = true; }
|
||||
"%column" { columnCount = true; }
|
||||
"%byaccj" { isInteger = true;
|
||||
if (eofVal == null)
|
||||
eofVal = "return 0;";
|
||||
eofclose = true;
|
||||
}
|
||||
"%cup2" { cup2Compatible = true;
|
||||
isImplementing = concExc(isImplementing, "Scanner");
|
||||
lineCount = true;
|
||||
columnCount = true;
|
||||
if (functionName == null)
|
||||
functionName = "readNextTerminal";
|
||||
if (tokenType == null)
|
||||
tokenType = "ScannerToken<? extends Object>";
|
||||
if (eofVal == null)
|
||||
eofVal = "return token(SpecialTerminals.EndOfInputStream);";
|
||||
if (!Options.jlex) eofclose = true;
|
||||
return symbol(UNICODE); // %unicode
|
||||
}
|
||||
"%cup" { cupCompatible = true;
|
||||
isImplementing = concExc(isImplementing, "java_cup.runtime.Scanner");
|
||||
if (functionName == null)
|
||||
functionName = "next_token";
|
||||
if (tokenType == null)
|
||||
tokenType = "java_cup.runtime.Symbol";
|
||||
if (eofVal == null)
|
||||
eofVal = "return new java_cup.runtime.Symbol("+cupSymbol+".EOF);";
|
||||
if (!Options.jlex) eofclose = true;
|
||||
}
|
||||
"%cupsym"{WSP}+{QualIdent} {WSP}* { cupSymbol = yytext().substring(8).trim();
|
||||
if (cupCompatible) Out.warning(ErrorMessages.CUPSYM_AFTER_CUP, yyline); }
|
||||
"%cupsym"{WSP}+{NNL}* { throw new ScannerException(file,ErrorMessages.QUIL_CUPSYM, yyline); }
|
||||
"%cupdebug" { cupDebug = true; }
|
||||
"%eofclose"({WSP}+"true")? { eofclose = true; }
|
||||
"%eofclose"({WSP}+"false") { eofclose = false; }
|
||||
"%class"{WSP}+{ClassT} {WSP}* { className = yytext().substring(7).trim(); }
|
||||
"%ctorarg"{WSP}+{ArrType}{WSP}+ { yybegin(CTOR_ARG); ctorTypes.add(yytext().substring(8).trim()); }
|
||||
"%function"{WSP}+{Ident} {WSP}* { functionName = yytext().substring(10).trim(); }
|
||||
"%type"{WSP}+{ArrType} {WSP}* { tokenType = yytext().substring(6).trim(); }
|
||||
"%integer"|"%int" { isInteger = true; }
|
||||
"%intwrap" { isIntWrap = true; }
|
||||
"%yyeof" { isYYEOF = true; }
|
||||
"%notunix" { notUnix = true; }
|
||||
"%7bit" { isASCII = true; return symbol(ASCII); }
|
||||
"%full"|"%8bit" { return symbol(FULL); }
|
||||
"%16bit" { populateDefaultVersionUnicodeProperties();
|
||||
return symbol(UNICODE);
|
||||
}
|
||||
"%unicode"({WSP}+{DottedVersion})? { String v = yytext().substring(8).trim();
|
||||
if (v.length() == 0) {
|
||||
populateDefaultVersionUnicodeProperties();
|
||||
} else {
|
||||
try {
|
||||
unicodeProperties = new UnicodeProperties(v);
|
||||
} catch (UnicodeProperties.UnsupportedUnicodeVersionException e) {
|
||||
throw new ScannerException
|
||||
(file, ErrorMessages.UNSUPPORTED_UNICODE_VERSION, yyline);
|
||||
}
|
||||
charClasses.init
|
||||
(Options.jlex ? 127 : unicodeProperties.getMaximumCodePoint(), this);
|
||||
}
|
||||
return symbol(UNICODE);
|
||||
}
|
||||
|
||||
"%caseless"|"%ignorecase" { caseless = true; }
|
||||
"%implements"{WSP}+.* { isImplementing = concExc(isImplementing, yytext().substring(12).trim()); }
|
||||
"%extends"{WSP}+{QClassT}{WSP}* { isExtending = yytext().substring(9).trim(); }
|
||||
"%public" { isPublic = true; }
|
||||
"%apiprivate" { visibility = "private"; Skeleton.makePrivate(); }
|
||||
"%final" { isFinal = true; }
|
||||
"%abstract" { isAbstract = true; }
|
||||
"%debug" { debugOption = true; }
|
||||
"%standalone" { standalone = true; isInteger = true; }
|
||||
"%pack" { /* no-op - this is the only generation method */ }
|
||||
"%include" {WSP}+ .* { includeFile(yytext().substring(9).trim()); }
|
||||
"%buffer" {WSP}+ {Number} {WSP}* { bufferSize = Integer.parseInt(yytext().substring(8).trim()); }
|
||||
"%buffer" {WSP}+ {NNL}* { throw new ScannerException(file,ErrorMessages.NO_BUFFER_SIZE, yyline); }
|
||||
"%initthrow" {WSP}+ {QUIL} {WSP}* { initThrow = concExc(initThrow,yytext().substring(11).trim()); }
|
||||
"%initthrow" {WSP}+ {NNL}* { throw new ScannerException(file,ErrorMessages.QUIL_INITTHROW, yyline); }
|
||||
"%eofthrow" {WSP}+ {QUIL} {WSP}* { eofThrow = concExc(eofThrow,yytext().substring(10).trim()); }
|
||||
"%eofthrow" {WSP}+ {NNL}* { throw new ScannerException(file,ErrorMessages.QUIL_EOFTHROW, yyline); }
|
||||
"%yylexthrow"{WSP}+ {QUIL} {WSP}* { lexThrow = concExc(lexThrow,yytext().substring(12).trim()); }
|
||||
"%throws" {WSP}+ {QUIL} {WSP}* { lexThrow = concExc(lexThrow,yytext().substring(8).trim()); }
|
||||
"%yylexthrow"{WSP}+ {NNL}* { throw new ScannerException(file,ErrorMessages.QUIL_YYLEXTHROW, yyline); }
|
||||
"%throws" {WSP}+ {NNL}* { throw new ScannerException(file,ErrorMessages.QUIL_THROW, yyline); }
|
||||
"%scanerror" {WSP}+ {QualIdent} {WSP}* { scanErrorException = yytext().substring(11).trim(); }
|
||||
"%scanerror" {WSP}+ {NNL}* { throw new ScannerException(file,ErrorMessages.QUIL_SCANERROR, yyline); }
|
||||
// TODO: In the version of JFlex after 1.6, the %inputstreamctor directive will become a no-op: the InputStream ctor will never be emitted.
|
||||
"%inputstreamctor"({WSP}+"true")? { emitInputStreamCtor = true; }
|
||||
"%inputstreamctor"{WSP}+"false" { emitInputStreamCtor = false; }
|
||||
|
||||
{Ident} { return symbol(IDENT, yytext()); }
|
||||
"="{WSP}* { if (null == unicodeProperties && ! isASCII) {
|
||||
populateDefaultVersionUnicodeProperties();
|
||||
}
|
||||
yybegin(REGEXP);
|
||||
return symbol(EQUALS);
|
||||
}
|
||||
|
||||
"/*" { nextState = MACROS; yybegin(COMMENT); }
|
||||
|
||||
{EndOfLineComment} { }
|
||||
|
||||
^"%%" {NNL}* { if (null == unicodeProperties && ! isASCII) {
|
||||
populateDefaultVersionUnicodeProperties();
|
||||
}
|
||||
macroDefinition = false;
|
||||
yybegin(REGEXPSTART);
|
||||
return symbol(DELIMITER);
|
||||
}
|
||||
"%"{Ident} { throw new ScannerException(file,ErrorMessages.UNKNOWN_OPTION, yyline, yycolumn); }
|
||||
"%" { throw new ScannerException(file,ErrorMessages.UNKNOWN_OPTION, yyline, yycolumn); }
|
||||
^{WSP}+"%" { Out.warning(ErrorMessages.NOT_AT_BOL, yyline); yypushback(1); }
|
||||
|
||||
{WSP}+ { }
|
||||
{NL}+ { }
|
||||
<<EOF>> { if ( yymoreStreams() ) {
|
||||
file = (File) files.pop();
|
||||
yypopStream();
|
||||
}
|
||||
else
|
||||
throw new ScannerException(file,ErrorMessages.EOF_IN_MACROS);
|
||||
}
|
||||
}
|
||||
|
||||
<CTOR_ARG> {
|
||||
{Ident} {WSP}* { yybegin(MACROS); ctorArgs.add(yytext().trim()); }
|
||||
[^] { throw new ScannerException(file,ErrorMessages.CTOR_ARG,yyline,yycolumn); }
|
||||
}
|
||||
|
||||
<REGEXPSTART> {
|
||||
^ {WSP}* "%include" {WSP}+ .* { includeFile(yytext().trim().substring(9).trim()); }
|
||||
{WSP}* "/*" { nextState = REGEXPSTART; yybegin(COMMENT); }
|
||||
{WSP}* "<" { yybegin(STATES); return symbol_countUpdate(LESSTHAN, null); }
|
||||
{WSP}* "}" { return symbol_countUpdate(RBRACE, null); }
|
||||
{WSP}* "//" {NNL}* { }
|
||||
{WSP}* "<<EOF>>" {WSPNL}* "{" { actionText.setLength(0); yybegin(JAVA_CODE);
|
||||
Symbol s = symbol_countUpdate(EOFRULE, null);
|
||||
action_line = s.left+1;
|
||||
return s;
|
||||
}
|
||||
^ {WSP}* {NWSPNL} { yypushback(yylength()); yybegin(REGEXP); }
|
||||
{WSP} | {NL} { }
|
||||
}
|
||||
|
||||
<STATES> {
|
||||
{Ident} { return symbol(IDENT, yytext()); }
|
||||
"," { return symbol(COMMA); }
|
||||
{WSPNL}+ { }
|
||||
|
||||
// "{" will be caught in REGEXP
|
||||
">"{WSPNL}* { yybegin(REGEXP); return symbol(MORETHAN); }
|
||||
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_STATES); }
|
||||
}
|
||||
|
||||
|
||||
<REGEXP> {
|
||||
"<<EOF>>" {WSPNL}+ "{" { actionText.setLength(0); yybegin(JAVA_CODE); action_line = yyline+1; return symbol(EOFRULE); }
|
||||
"<<EOF>>" { throw new ScannerException(file,ErrorMessages.EOF_WO_ACTION); }
|
||||
|
||||
{WSPNL}*"|"{WSP}*$ { if (macroDefinition) {
|
||||
yybegin(EATWSPNL);
|
||||
return symbol(BAR);
|
||||
}
|
||||
else {
|
||||
yybegin(REGEXPSTART);
|
||||
return symbol(NOACTION);
|
||||
}
|
||||
}
|
||||
|
||||
// stategroup
|
||||
"{" { yybegin(REGEXPSTART); return symbol(LBRACE); }
|
||||
|
||||
{WSPNL}*"|" { return symbol(BAR); }
|
||||
|
||||
{WSPNL}*\" { string.setLength(0); nextState = REGEXP; yybegin(STRING_CONTENT); }
|
||||
{WSPNL}*"\\u{" { string.setLength(0); yybegin(REGEXP_CODEPOINT_SEQUENCE); }
|
||||
{WSPNL}*"!" { return symbol(BANG); }
|
||||
{WSPNL}*"~" { return symbol(TILDE); }
|
||||
{WSPNL}*"(" { return symbol(OPENBRACKET); }
|
||||
{WSPNL}*")" { return symbol(CLOSEBRACKET); }
|
||||
{WSPNL}*"*" { return symbol(STAR); }
|
||||
{WSPNL}*"+" { return symbol(PLUS); }
|
||||
{WSPNL}*"?" { return symbol(QUESTION); }
|
||||
{WSPNL}*"$" { return symbol(DOLLAR); }
|
||||
{WSPNL}*"^" { bolUsed = true; return symbol(HAT); }
|
||||
{WSPNL}*"." { return symbol(POINT); }
|
||||
{WSPNL}*"\\R" { return symbol(NEWLINE); }
|
||||
{WSPNL}*"[" { yybegin(CHARCLASS); return symbol(OPENCLASS); }
|
||||
{WSPNL}*"/" { return symbol(LOOKAHEAD); }
|
||||
|
||||
{WSPNL}* "{" {WSP}* {Ident} {WSP}* "}" { return symbol_countUpdate(MACROUSE, makeMacroIdent()); }
|
||||
{WSPNL}* "{" {WSP}* {Number} { yybegin(REPEATEXP);
|
||||
return symbol(REPEAT,
|
||||
new Integer(yytext().trim().substring(1).trim()));
|
||||
}
|
||||
|
||||
{WSPNL}+ "{" { actionText.setLength(0); yybegin(JAVA_CODE); action_line = yyline+1; return symbol(REGEXPEND); }
|
||||
{NL} { if (macroDefinition) { yybegin(MACROS); } return symbol(REGEXPEND); }
|
||||
|
||||
{WSPNL}*"/*" { nextState = REGEXP; yybegin(COMMENT); }
|
||||
|
||||
{WSPNL}*"//"{NNL}* { }
|
||||
|
||||
{WSP}+ { }
|
||||
|
||||
<CHARCLASS> {
|
||||
{WSPNL}*"[:jletter:]" { return symbol(JLETTERCLASS); }
|
||||
{WSPNL}*"[:jletterdigit:]" { return symbol(JLETTERDIGITCLASS); }
|
||||
{WSPNL}*"[:letter:]" { return symbol(LETTERCLASS); }
|
||||
{WSPNL}*"[:uppercase:]" { return symbol(UPPERCLASS); }
|
||||
{WSPNL}*"[:lowercase:]" { return symbol(LOWERCLASS); }
|
||||
{WSPNL}*"[:digit:]" { return symbol(DIGITCLASS); }
|
||||
{WSPNL}*"\\d" { return symbol(DIGITCLASS); }
|
||||
{WSPNL}*"\\D" { return symbol(DIGITCLASSNOT); }
|
||||
{WSPNL}*"\\s" { return symbol(WHITESPACECLASS); }
|
||||
{WSPNL}*"\\S" { return symbol(WHITESPACECLASSNOT); }
|
||||
{WSPNL}*"\\w" { return symbol(WORDCLASS); }
|
||||
{WSPNL}*"\\W" { return symbol(WORDCLASSNOT); }
|
||||
{WSPNL}*"\\p{"[^}]*"}" { String trimmedText = yytext().trim();
|
||||
String propertyValue = trimmedText.substring(3,trimmedText.length()-1);
|
||||
IntCharSet set = unicodeProperties.getIntCharSet(propertyValue);
|
||||
if (null == set) {
|
||||
throw new ScannerException(file,ErrorMessages.INVALID_UNICODE_PROPERTY, yyline, yycolumn + 3);
|
||||
}
|
||||
return symbol(UNIPROPCCLASS, set);
|
||||
}
|
||||
{WSPNL}*"\\P{"[^}]*"}" { String trimmedText = yytext().trim();
|
||||
String propertyValue = trimmedText.substring(3,trimmedText.length()-1);
|
||||
IntCharSet set = unicodeProperties.getIntCharSet(propertyValue);
|
||||
if (null == set) {
|
||||
throw new ScannerException(file,ErrorMessages.INVALID_UNICODE_PROPERTY, yyline, yycolumn + 3);
|
||||
}
|
||||
return symbol(UNIPROPCCLASSNOT, set);
|
||||
}
|
||||
}
|
||||
|
||||
. { return symbol(CHAR, yytext().codePointAt(0)); }
|
||||
}
|
||||
|
||||
<EATWSPNL> {WSPNL}+ { yybegin(REGEXP); }
|
||||
|
||||
|
||||
<REPEATEXP> {
|
||||
"}" { yybegin(REGEXP); return symbol(RBRACE); }
|
||||
"," {WSP}* {Number} { return symbol(REPEAT, new Integer(yytext().substring(1).trim())); }
|
||||
{WSP}+ { }
|
||||
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_REGEXP); }
|
||||
}
|
||||
|
||||
<CHARCLASS> {
|
||||
"{"{Ident}"}" { return symbol(MACROUSE, yytext().substring(1,yylength()-1)); }
|
||||
"[" { balance++; return symbol(OPENCLASS); }
|
||||
"]" { if (balance > 0) balance--; else yybegin(REGEXP); return symbol(CLOSECLASS); }
|
||||
"^" { return symbol(HAT); }
|
||||
"-" { return symbol(DASH); }
|
||||
"--" { return symbol(DIFFERENCE); }
|
||||
"&&" { return symbol(INTERSECTION); }
|
||||
"||" { /* union is the default operation - '||' can be ignored */ }
|
||||
"~~" { return symbol(SYMMETRICDIFFERENCE); }
|
||||
"\\u{" { yybegin(CHARCLASS_CODEPOINT); }
|
||||
|
||||
// this is a hack to keep JLex compatibilty with char class
|
||||
// expressions like [+-]
|
||||
"-]" { yypushback(1); yycolumn--; return symbol(CHAR, (int)'-'); }
|
||||
|
||||
\" { string.setLength(0); nextState = CHARCLASS; yybegin(STRING_CONTENT); }
|
||||
|
||||
. { return symbol(CHAR, yytext().codePointAt(0)); }
|
||||
|
||||
\n { throw new ScannerException(file,ErrorMessages.EOL_IN_CHARCLASS,yyline,yycolumn); }
|
||||
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_REGEXP); }
|
||||
}
|
||||
|
||||
<STRING_CONTENT> {
|
||||
\" { yybegin(nextState); return symbol(STRING, string.toString()); }
|
||||
\\\" { string.append('\"'); }
|
||||
[^\"\\\u2028\u2029\u000A\u000B\u000C\u000D\u0085]+ { string.append(yytext()); }
|
||||
|
||||
{NL} { throw new ScannerException(file,ErrorMessages.UNTERMINATED_STR, yyline, yycolumn); }
|
||||
|
||||
{HexNumber} { string.append( (char) Integer.parseInt(yytext().substring(2,yylength()), 16)); }
|
||||
{OctNumber} { string.append( (char) Integer.parseInt(yytext().substring(1,yylength()), 8)); }
|
||||
{Unicode4} { string.append( (char) Integer.parseInt(yytext().substring(2,yylength()), 16)); }
|
||||
{Unicode6} { int codePoint = Integer.parseInt(yytext().substring(2,yylength()), 16);
|
||||
if (codePoint <= unicodeProperties.getMaximumCodePoint()) {
|
||||
string.append(Character.toChars(codePoint));
|
||||
} else {
|
||||
throw new ScannerException(file,ErrorMessages.CODEPOINT_OUT_OF_RANGE, yyline, yycolumn+2);
|
||||
}
|
||||
}
|
||||
|
||||
"\\u{" { yybegin(STRING_CODEPOINT_SEQUENCE); }
|
||||
|
||||
\\b { string.append('\b'); }
|
||||
\\n { string.append('\n'); }
|
||||
\\t { string.append('\t'); }
|
||||
\\f { string.append('\f'); }
|
||||
\\r { string.append('\r'); }
|
||||
|
||||
\\. { string.append(yytext().substring(1, yytext().offsetByCodePoints(1, 1))); }
|
||||
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_STRING); }
|
||||
}
|
||||
|
||||
|
||||
<REGEXP, CHARCLASS> {
|
||||
{HexNumber} { return symbol(CHAR, Integer.parseInt(yytext().substring(2,yylength()), 16)); }
|
||||
{OctNumber} { return symbol(CHAR, Integer.parseInt(yytext().substring(1,yylength()), 8)); }
|
||||
{Unicode4} { return symbol(CHAR, Integer.parseInt(yytext().substring(2,yylength()), 16)); }
|
||||
{Unicode6} { int codePoint = Integer.parseInt(yytext().substring(2,yylength()), 16);
|
||||
if (codePoint <= unicodeProperties.getMaximumCodePoint()) {
|
||||
return symbol(CHAR, codePoint);
|
||||
} else {
|
||||
throw new ScannerException(file,ErrorMessages.CODEPOINT_OUT_OF_RANGE, yyline, yycolumn+2);
|
||||
}
|
||||
}
|
||||
|
||||
\\b { return symbol(CHAR, (int)'\b'); }
|
||||
\\n { return symbol(CHAR, (int)'\n'); }
|
||||
\\t { return symbol(CHAR, (int)'\t'); }
|
||||
\\f { return symbol(CHAR, (int)'\f'); }
|
||||
\\r { return symbol(CHAR, (int)'\r'); }
|
||||
|
||||
\\. { return symbol(CHAR, yytext().codePointAt(1)); }
|
||||
}
|
||||
|
||||
|
||||
<JAVA_CODE> {
|
||||
"{" { balance++; actionText.append('{'); }
|
||||
"}" { if (balance > 0) {
|
||||
balance--;
|
||||
actionText.append('}');
|
||||
}
|
||||
else {
|
||||
yybegin(REGEXPSTART);
|
||||
Action a = new Action(actionText.toString(), action_line);
|
||||
actions.add(a);
|
||||
return symbol(ACTION, a);
|
||||
}
|
||||
}
|
||||
|
||||
{JavaCode} { actionText.append(yytext()); }
|
||||
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_ACTION, action_line-1); }
|
||||
}
|
||||
|
||||
<COMMENT> {
|
||||
|
||||
"/"+ "*" { commentbalance++; }
|
||||
"*"+ "/" { if (commentbalance > 0)
|
||||
commentbalance--;
|
||||
else
|
||||
yybegin(nextState);
|
||||
}
|
||||
|
||||
{JFlexComment} { /* ignore */ }
|
||||
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_COMMENT); }
|
||||
}
|
||||
|
||||
<REGEXP_CODEPOINT_SEQUENCE> {
|
||||
"}" { yybegin(REGEXP); return symbol(STRING, string.toString()); }
|
||||
{HexDigit}{1,6} { int codePoint = Integer.parseInt(yytext(), 16);
|
||||
if (codePoint <= unicodeProperties.getMaximumCodePoint()) {
|
||||
string.append(Character.toChars(codePoint));
|
||||
} else {
|
||||
throw new ScannerException(file,ErrorMessages.CODEPOINT_OUT_OF_RANGE, yyline, yycolumn);
|
||||
}
|
||||
}
|
||||
{WSPNL}+ { }
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_REGEXP); }
|
||||
}
|
||||
|
||||
<STRING_CODEPOINT_SEQUENCE> { // Specialized form: newlines disallowed, and doesn't return a symbol
|
||||
"}" { yybegin(STRING_CONTENT); }
|
||||
{HexDigit}{1,6} { int codePoint = Integer.parseInt(yytext(), 16);
|
||||
if (codePoint <= unicodeProperties.getMaximumCodePoint()) {
|
||||
string.append(Character.toChars(codePoint));
|
||||
} else {
|
||||
throw new ScannerException(file, ErrorMessages.CODEPOINT_OUT_OF_RANGE, yyline, yycolumn);
|
||||
}
|
||||
}
|
||||
{NL} { throw new ScannerException(file,ErrorMessages.UNTERMINATED_STR, yyline, yycolumn); }
|
||||
{WSP}+ { }
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_STRING); }
|
||||
}
|
||||
|
||||
<CHARCLASS_CODEPOINT> { // Specialized form: only one codepoint allowed, no whitespace allowed
|
||||
{HexDigit}{1,6} "}" { int codePoint = Integer.parseInt(yytext().substring(0, yylength() - 1), 16);
|
||||
if (codePoint <= unicodeProperties.getMaximumCodePoint()) {
|
||||
yybegin(CHARCLASS);
|
||||
return symbol(CHAR, codePoint);
|
||||
} else {
|
||||
throw new ScannerException(file, ErrorMessages.CODEPOINT_OUT_OF_RANGE, yyline, yycolumn);
|
||||
}
|
||||
}
|
||||
<<EOF>> { throw new ScannerException(file,ErrorMessages.EOF_IN_REGEXP); }
|
||||
}
|
||||
|
||||
. { throw new ScannerException(file,ErrorMessages.UNEXPECTED_CHAR, yyline, yycolumn); }
|
||||
\R { throw new ScannerException(file,ErrorMessages.UNEXPECTED_NL, yyline, yycolumn); }
|
||||
|
||||
<<EOF>> { if ( yymoreStreams() ) {
|
||||
file = (File) files.pop();
|
||||
yypopStream();
|
||||
}
|
||||
else {
|
||||
return symbol(EOF);
|
||||
}
|
||||
}
|
||||
305
samples/JFlex/java.jflex
Normal file
305
samples/JFlex/java.jflex
Normal file
@@ -0,0 +1,305 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* Copyright (C) 1998-2015 Gerwin Klein <lsf@jflex.de> *
|
||||
* All rights reserved. *
|
||||
* *
|
||||
* License: BSD *
|
||||
* *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
/* Java 1.2 language lexer specification */
|
||||
|
||||
/* Use together with unicode.flex for Unicode preprocesssing */
|
||||
/* and java12.cup for a Java 1.2 parser */
|
||||
|
||||
/* Note that this lexer specification is not tuned for speed.
|
||||
It is in fact quite slow on integer and floating point literals,
|
||||
because the input is read twice and the methods used to parse
|
||||
the numbers are not very fast.
|
||||
For a production quality application (e.g. a Java compiler)
|
||||
this could be optimized */
|
||||
|
||||
|
||||
import java_cup.runtime.*;
|
||||
|
||||
%%
|
||||
|
||||
%public
|
||||
%class Scanner
|
||||
%implements sym
|
||||
|
||||
%unicode
|
||||
|
||||
%line
|
||||
%column
|
||||
|
||||
%cup
|
||||
%cupdebug
|
||||
|
||||
%{
|
||||
StringBuilder string = new StringBuilder();
|
||||
|
||||
private Symbol symbol(int type) {
|
||||
return new JavaSymbol(type, yyline+1, yycolumn+1);
|
||||
}
|
||||
|
||||
private Symbol symbol(int type, Object value) {
|
||||
return new JavaSymbol(type, yyline+1, yycolumn+1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* assumes correct representation of a long value for
|
||||
* specified radix in scanner buffer from <code>start</code>
|
||||
* to <code>end</code>
|
||||
*/
|
||||
private long parseLong(int start, int end, int radix) {
|
||||
long result = 0;
|
||||
long digit;
|
||||
|
||||
for (int i = start; i < end; i++) {
|
||||
digit = Character.digit(yycharat(i),radix);
|
||||
result*= radix;
|
||||
result+= digit;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
%}
|
||||
|
||||
/* main character classes */
|
||||
LineTerminator = \r|\n|\r\n
|
||||
InputCharacter = [^\r\n]
|
||||
|
||||
WhiteSpace = {LineTerminator} | [ \t\f]
|
||||
|
||||
/* comments */
|
||||
Comment = {TraditionalComment} | {EndOfLineComment} |
|
||||
{DocumentationComment}
|
||||
|
||||
TraditionalComment = "/*" [^*] ~"*/" | "/*" "*"+ "/"
|
||||
EndOfLineComment = "//" {InputCharacter}* {LineTerminator}?
|
||||
DocumentationComment = "/*" "*"+ [^/*] ~"*/"
|
||||
|
||||
/* identifiers */
|
||||
Identifier = [:jletter:][:jletterdigit:]*
|
||||
|
||||
/* integer literals */
|
||||
DecIntegerLiteral = 0 | [1-9][0-9]*
|
||||
DecLongLiteral = {DecIntegerLiteral} [lL]
|
||||
|
||||
HexIntegerLiteral = 0 [xX] 0* {HexDigit} {1,8}
|
||||
HexLongLiteral = 0 [xX] 0* {HexDigit} {1,16} [lL]
|
||||
HexDigit = [0-9a-fA-F]
|
||||
|
||||
OctIntegerLiteral = 0+ [1-3]? {OctDigit} {1,15}
|
||||
OctLongLiteral = 0+ 1? {OctDigit} {1,21} [lL]
|
||||
OctDigit = [0-7]
|
||||
|
||||
/* floating point literals */
|
||||
FloatLiteral = ({FLit1}|{FLit2}|{FLit3}) {Exponent}? [fF]
|
||||
DoubleLiteral = ({FLit1}|{FLit2}|{FLit3}) {Exponent}?
|
||||
|
||||
FLit1 = [0-9]+ \. [0-9]*
|
||||
FLit2 = \. [0-9]+
|
||||
FLit3 = [0-9]+
|
||||
Exponent = [eE] [+-]? [0-9]+
|
||||
|
||||
/* string and character literals */
|
||||
StringCharacter = [^\r\n\"\\]
|
||||
SingleCharacter = [^\r\n\'\\]
|
||||
|
||||
%state STRING, CHARLITERAL
|
||||
|
||||
%%
|
||||
|
||||
<YYINITIAL> {
|
||||
|
||||
/* keywords */
|
||||
"abstract" { return symbol(ABSTRACT); }
|
||||
"boolean" { return symbol(BOOLEAN); }
|
||||
"break" { return symbol(BREAK); }
|
||||
"byte" { return symbol(BYTE); }
|
||||
"case" { return symbol(CASE); }
|
||||
"catch" { return symbol(CATCH); }
|
||||
"char" { return symbol(CHAR); }
|
||||
"class" { return symbol(CLASS); }
|
||||
"const" { return symbol(CONST); }
|
||||
"continue" { return symbol(CONTINUE); }
|
||||
"do" { return symbol(DO); }
|
||||
"double" { return symbol(DOUBLE); }
|
||||
"else" { return symbol(ELSE); }
|
||||
"extends" { return symbol(EXTENDS); }
|
||||
"final" { return symbol(FINAL); }
|
||||
"finally" { return symbol(FINALLY); }
|
||||
"float" { return symbol(FLOAT); }
|
||||
"for" { return symbol(FOR); }
|
||||
"default" { return symbol(DEFAULT); }
|
||||
"implements" { return symbol(IMPLEMENTS); }
|
||||
"import" { return symbol(IMPORT); }
|
||||
"instanceof" { return symbol(INSTANCEOF); }
|
||||
"int" { return symbol(INT); }
|
||||
"interface" { return symbol(INTERFACE); }
|
||||
"long" { return symbol(LONG); }
|
||||
"native" { return symbol(NATIVE); }
|
||||
"new" { return symbol(NEW); }
|
||||
"goto" { return symbol(GOTO); }
|
||||
"if" { return symbol(IF); }
|
||||
"public" { return symbol(PUBLIC); }
|
||||
"short" { return symbol(SHORT); }
|
||||
"super" { return symbol(SUPER); }
|
||||
"switch" { return symbol(SWITCH); }
|
||||
"synchronized" { return symbol(SYNCHRONIZED); }
|
||||
"package" { return symbol(PACKAGE); }
|
||||
"private" { return symbol(PRIVATE); }
|
||||
"protected" { return symbol(PROTECTED); }
|
||||
"transient" { return symbol(TRANSIENT); }
|
||||
"return" { return symbol(RETURN); }
|
||||
"void" { return symbol(VOID); }
|
||||
"static" { return symbol(STATIC); }
|
||||
"while" { return symbol(WHILE); }
|
||||
"this" { return symbol(THIS); }
|
||||
"throw" { return symbol(THROW); }
|
||||
"throws" { return symbol(THROWS); }
|
||||
"try" { return symbol(TRY); }
|
||||
"volatile" { return symbol(VOLATILE); }
|
||||
"strictfp" { return symbol(STRICTFP); }
|
||||
|
||||
/* boolean literals */
|
||||
"true" { return symbol(BOOLEAN_LITERAL, true); }
|
||||
"false" { return symbol(BOOLEAN_LITERAL, false); }
|
||||
|
||||
/* null literal */
|
||||
"null" { return symbol(NULL_LITERAL); }
|
||||
|
||||
|
||||
/* separators */
|
||||
"(" { return symbol(LPAREN); }
|
||||
")" { return symbol(RPAREN); }
|
||||
"{" { return symbol(LBRACE); }
|
||||
"}" { return symbol(RBRACE); }
|
||||
"[" { return symbol(LBRACK); }
|
||||
"]" { return symbol(RBRACK); }
|
||||
";" { return symbol(SEMICOLON); }
|
||||
"," { return symbol(COMMA); }
|
||||
"." { return symbol(DOT); }
|
||||
|
||||
/* operators */
|
||||
"=" { return symbol(EQ); }
|
||||
">" { return symbol(GT); }
|
||||
"<" { return symbol(LT); }
|
||||
"!" { return symbol(NOT); }
|
||||
"~" { return symbol(COMP); }
|
||||
"?" { return symbol(QUESTION); }
|
||||
":" { return symbol(COLON); }
|
||||
"==" { return symbol(EQEQ); }
|
||||
"<=" { return symbol(LTEQ); }
|
||||
">=" { return symbol(GTEQ); }
|
||||
"!=" { return symbol(NOTEQ); }
|
||||
"&&" { return symbol(ANDAND); }
|
||||
"||" { return symbol(OROR); }
|
||||
"++" { return symbol(PLUSPLUS); }
|
||||
"--" { return symbol(MINUSMINUS); }
|
||||
"+" { return symbol(PLUS); }
|
||||
"-" { return symbol(MINUS); }
|
||||
"*" { return symbol(MULT); }
|
||||
"/" { return symbol(DIV); }
|
||||
"&" { return symbol(AND); }
|
||||
"|" { return symbol(OR); }
|
||||
"^" { return symbol(XOR); }
|
||||
"%" { return symbol(MOD); }
|
||||
"<<" { return symbol(LSHIFT); }
|
||||
">>" { return symbol(RSHIFT); }
|
||||
">>>" { return symbol(URSHIFT); }
|
||||
"+=" { return symbol(PLUSEQ); }
|
||||
"-=" { return symbol(MINUSEQ); }
|
||||
"*=" { return symbol(MULTEQ); }
|
||||
"/=" { return symbol(DIVEQ); }
|
||||
"&=" { return symbol(ANDEQ); }
|
||||
"|=" { return symbol(OREQ); }
|
||||
"^=" { return symbol(XOREQ); }
|
||||
"%=" { return symbol(MODEQ); }
|
||||
"<<=" { return symbol(LSHIFTEQ); }
|
||||
">>=" { return symbol(RSHIFTEQ); }
|
||||
">>>=" { return symbol(URSHIFTEQ); }
|
||||
|
||||
/* string literal */
|
||||
\" { yybegin(STRING); string.setLength(0); }
|
||||
|
||||
/* character literal */
|
||||
\' { yybegin(CHARLITERAL); }
|
||||
|
||||
/* numeric literals */
|
||||
|
||||
/* This is matched together with the minus, because the number is too big to
|
||||
be represented by a positive integer. */
|
||||
"-2147483648" { return symbol(INTEGER_LITERAL, new Integer(Integer.MIN_VALUE)); }
|
||||
|
||||
{DecIntegerLiteral} { return symbol(INTEGER_LITERAL, new Integer(yytext())); }
|
||||
{DecLongLiteral} { return symbol(INTEGER_LITERAL, new Long(yytext().substring(0,yylength()-1))); }
|
||||
|
||||
{HexIntegerLiteral} { return symbol(INTEGER_LITERAL, new Integer((int) parseLong(2, yylength(), 16))); }
|
||||
{HexLongLiteral} { return symbol(INTEGER_LITERAL, new Long(parseLong(2, yylength()-1, 16))); }
|
||||
|
||||
{OctIntegerLiteral} { return symbol(INTEGER_LITERAL, new Integer((int) parseLong(0, yylength(), 8))); }
|
||||
{OctLongLiteral} { return symbol(INTEGER_LITERAL, new Long(parseLong(0, yylength()-1, 8))); }
|
||||
|
||||
{FloatLiteral} { return symbol(FLOATING_POINT_LITERAL, new Float(yytext().substring(0,yylength()-1))); }
|
||||
{DoubleLiteral} { return symbol(FLOATING_POINT_LITERAL, new Double(yytext())); }
|
||||
{DoubleLiteral}[dD] { return symbol(FLOATING_POINT_LITERAL, new Double(yytext().substring(0,yylength()-1))); }
|
||||
|
||||
/* comments */
|
||||
{Comment} { /* ignore */ }
|
||||
|
||||
/* whitespace */
|
||||
{WhiteSpace} { /* ignore */ }
|
||||
|
||||
/* identifiers */
|
||||
{Identifier} { return symbol(IDENTIFIER, yytext()); }
|
||||
}
|
||||
|
||||
<STRING> {
|
||||
\" { yybegin(YYINITIAL); return symbol(STRING_LITERAL, string.toString()); }
|
||||
|
||||
{StringCharacter}+ { string.append( yytext() ); }
|
||||
|
||||
/* escape sequences */
|
||||
"\\b" { string.append( '\b' ); }
|
||||
"\\t" { string.append( '\t' ); }
|
||||
"\\n" { string.append( '\n' ); }
|
||||
"\\f" { string.append( '\f' ); }
|
||||
"\\r" { string.append( '\r' ); }
|
||||
"\\\"" { string.append( '\"' ); }
|
||||
"\\'" { string.append( '\'' ); }
|
||||
"\\\\" { string.append( '\\' ); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit} { char val = (char) Integer.parseInt(yytext().substring(1),8);
|
||||
string.append( val ); }
|
||||
|
||||
/* error cases */
|
||||
\\. { throw new RuntimeException("Illegal escape sequence \""+yytext()+"\""); }
|
||||
{LineTerminator} { throw new RuntimeException("Unterminated string at end of line"); }
|
||||
}
|
||||
|
||||
<CHARLITERAL> {
|
||||
{SingleCharacter}\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, yytext().charAt(0)); }
|
||||
|
||||
/* escape sequences */
|
||||
"\\b"\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\b');}
|
||||
"\\t"\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\t');}
|
||||
"\\n"\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\n');}
|
||||
"\\f"\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\f');}
|
||||
"\\r"\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\r');}
|
||||
"\\\""\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\"');}
|
||||
"\\'"\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\'');}
|
||||
"\\\\"\' { yybegin(YYINITIAL); return symbol(CHARACTER_LITERAL, '\\'); }
|
||||
\\[0-3]?{OctDigit}?{OctDigit}\' { yybegin(YYINITIAL);
|
||||
int val = Integer.parseInt(yytext().substring(1,yylength()-1),8);
|
||||
return symbol(CHARACTER_LITERAL, (char)val); }
|
||||
|
||||
/* error cases */
|
||||
\\. { throw new RuntimeException("Illegal escape sequence \""+yytext()+"\""); }
|
||||
{LineTerminator} { throw new RuntimeException("Unterminated character literal at end of line"); }
|
||||
}
|
||||
|
||||
/* error fallback */
|
||||
[^] { throw new RuntimeException("Illegal character \""+yytext()+
|
||||
"\" at line "+yyline+", column "+yycolumn); }
|
||||
<<EOF>> { return symbol(EOF); }
|
||||
396
samples/Java/gen-java-linguist-thrift.java
Normal file
396
samples/Java/gen-java-linguist-thrift.java
Normal file
@@ -0,0 +1,396 @@
|
||||
/**
|
||||
* Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||
*
|
||||
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||
* @generated
|
||||
*/
|
||||
import org.apache.thrift.scheme.IScheme;
|
||||
import org.apache.thrift.scheme.SchemeFactory;
|
||||
import org.apache.thrift.scheme.StandardScheme;
|
||||
|
||||
import org.apache.thrift.scheme.TupleScheme;
|
||||
import org.apache.thrift.protocol.TTupleProtocol;
|
||||
import org.apache.thrift.protocol.TProtocolException;
|
||||
import org.apache.thrift.EncodingUtils;
|
||||
import org.apache.thrift.TException;
|
||||
import org.apache.thrift.async.AsyncMethodCallback;
|
||||
import org.apache.thrift.server.AbstractNonblockingServer.*;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
import java.util.EnumMap;
|
||||
import java.util.Set;
|
||||
import java.util.HashSet;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Collections;
|
||||
import java.util.BitSet;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
import javax.annotation.Generated;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
|
||||
@Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)", date = "2015-5-12")
|
||||
public class PullRequest implements org.apache.thrift.TBase<PullRequest, PullRequest._Fields>, java.io.Serializable, Cloneable, Comparable<PullRequest> {
|
||||
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PullRequest");
|
||||
|
||||
private static final org.apache.thrift.protocol.TField TITLE_FIELD_DESC = new org.apache.thrift.protocol.TField("title", org.apache.thrift.protocol.TType.STRING, (short)1);
|
||||
|
||||
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
|
||||
static {
|
||||
schemes.put(StandardScheme.class, new PullRequestStandardSchemeFactory());
|
||||
schemes.put(TupleScheme.class, new PullRequestTupleSchemeFactory());
|
||||
}
|
||||
|
||||
public String title; // required
|
||||
|
||||
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
|
||||
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
|
||||
TITLE((short)1, "title");
|
||||
|
||||
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
|
||||
|
||||
static {
|
||||
for (_Fields field : EnumSet.allOf(_Fields.class)) {
|
||||
byName.put(field.getFieldName(), field);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the _Fields constant that matches fieldId, or null if its not found.
|
||||
*/
|
||||
public static _Fields findByThriftId(int fieldId) {
|
||||
switch(fieldId) {
|
||||
case 1: // TITLE
|
||||
return TITLE;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the _Fields constant that matches fieldId, throwing an exception
|
||||
* if it is not found.
|
||||
*/
|
||||
public static _Fields findByThriftIdOrThrow(int fieldId) {
|
||||
_Fields fields = findByThriftId(fieldId);
|
||||
if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
|
||||
return fields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the _Fields constant that matches name, or null if its not found.
|
||||
*/
|
||||
public static _Fields findByName(String name) {
|
||||
return byName.get(name);
|
||||
}
|
||||
|
||||
private final short _thriftId;
|
||||
private final String _fieldName;
|
||||
|
||||
_Fields(short thriftId, String fieldName) {
|
||||
_thriftId = thriftId;
|
||||
_fieldName = fieldName;
|
||||
}
|
||||
|
||||
public short getThriftFieldId() {
|
||||
return _thriftId;
|
||||
}
|
||||
|
||||
public String getFieldName() {
|
||||
return _fieldName;
|
||||
}
|
||||
}
|
||||
|
||||
// isset id assignments
|
||||
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
|
||||
static {
|
||||
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
|
||||
tmpMap.put(_Fields.TITLE, new org.apache.thrift.meta_data.FieldMetaData("title", org.apache.thrift.TFieldRequirementType.DEFAULT,
|
||||
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
|
||||
metaDataMap = Collections.unmodifiableMap(tmpMap);
|
||||
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(PullRequest.class, metaDataMap);
|
||||
}
|
||||
|
||||
public PullRequest() {
|
||||
}
|
||||
|
||||
public PullRequest(
|
||||
String title)
|
||||
{
|
||||
this();
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs a deep copy on <i>other</i>.
|
||||
*/
|
||||
public PullRequest(PullRequest other) {
|
||||
if (other.isSetTitle()) {
|
||||
this.title = other.title;
|
||||
}
|
||||
}
|
||||
|
||||
public PullRequest deepCopy() {
|
||||
return new PullRequest(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
this.title = null;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return this.title;
|
||||
}
|
||||
|
||||
public PullRequest setTitle(String title) {
|
||||
this.title = title;
|
||||
return this;
|
||||
}
|
||||
|
||||
public void unsetTitle() {
|
||||
this.title = null;
|
||||
}
|
||||
|
||||
/** Returns true if field title is set (has been assigned a value) and false otherwise */
|
||||
public boolean isSetTitle() {
|
||||
return this.title != null;
|
||||
}
|
||||
|
||||
public void setTitleIsSet(boolean value) {
|
||||
if (!value) {
|
||||
this.title = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void setFieldValue(_Fields field, Object value) {
|
||||
switch (field) {
|
||||
case TITLE:
|
||||
if (value == null) {
|
||||
unsetTitle();
|
||||
} else {
|
||||
setTitle((String)value);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Object getFieldValue(_Fields field) {
|
||||
switch (field) {
|
||||
case TITLE:
|
||||
return getTitle();
|
||||
|
||||
}
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
/** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
|
||||
public boolean isSet(_Fields field) {
|
||||
if (field == null) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
|
||||
switch (field) {
|
||||
case TITLE:
|
||||
return isSetTitle();
|
||||
}
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object that) {
|
||||
if (that == null)
|
||||
return false;
|
||||
if (that instanceof PullRequest)
|
||||
return this.equals((PullRequest)that);
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean equals(PullRequest that) {
|
||||
if (that == null)
|
||||
return false;
|
||||
|
||||
boolean this_present_title = true && this.isSetTitle();
|
||||
boolean that_present_title = true && that.isSetTitle();
|
||||
if (this_present_title || that_present_title) {
|
||||
if (!(this_present_title && that_present_title))
|
||||
return false;
|
||||
if (!this.title.equals(that.title))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
List<Object> list = new ArrayList<Object>();
|
||||
|
||||
boolean present_title = true && (isSetTitle());
|
||||
list.add(present_title);
|
||||
if (present_title)
|
||||
list.add(title);
|
||||
|
||||
return list.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(PullRequest other) {
|
||||
if (!getClass().equals(other.getClass())) {
|
||||
return getClass().getName().compareTo(other.getClass().getName());
|
||||
}
|
||||
|
||||
int lastComparison = 0;
|
||||
|
||||
lastComparison = Boolean.valueOf(isSetTitle()).compareTo(other.isSetTitle());
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
if (isSetTitle()) {
|
||||
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.title, other.title);
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public _Fields fieldForId(int fieldId) {
|
||||
return _Fields.findByThriftId(fieldId);
|
||||
}
|
||||
|
||||
public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
|
||||
schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
|
||||
}
|
||||
|
||||
public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
|
||||
schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("PullRequest(");
|
||||
boolean first = true;
|
||||
|
||||
sb.append("title:");
|
||||
if (this.title == null) {
|
||||
sb.append("null");
|
||||
} else {
|
||||
sb.append(this.title);
|
||||
}
|
||||
first = false;
|
||||
sb.append(")");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public void validate() throws org.apache.thrift.TException {
|
||||
// check for required fields
|
||||
// check for sub-struct validity
|
||||
}
|
||||
|
||||
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
|
||||
try {
|
||||
write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
|
||||
} catch (org.apache.thrift.TException te) {
|
||||
throw new java.io.IOException(te);
|
||||
}
|
||||
}
|
||||
|
||||
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
|
||||
try {
|
||||
read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
|
||||
} catch (org.apache.thrift.TException te) {
|
||||
throw new java.io.IOException(te);
|
||||
}
|
||||
}
|
||||
|
||||
private static class PullRequestStandardSchemeFactory implements SchemeFactory {
|
||||
public PullRequestStandardScheme getScheme() {
|
||||
return new PullRequestStandardScheme();
|
||||
}
|
||||
}
|
||||
|
||||
private static class PullRequestStandardScheme extends StandardScheme<PullRequest> {
|
||||
|
||||
public void read(org.apache.thrift.protocol.TProtocol iprot, PullRequest struct) throws org.apache.thrift.TException {
|
||||
org.apache.thrift.protocol.TField schemeField;
|
||||
iprot.readStructBegin();
|
||||
while (true)
|
||||
{
|
||||
schemeField = iprot.readFieldBegin();
|
||||
if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
|
||||
break;
|
||||
}
|
||||
switch (schemeField.id) {
|
||||
case 1: // TITLE
|
||||
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
|
||||
struct.title = iprot.readString();
|
||||
struct.setTitleIsSet(true);
|
||||
} else {
|
||||
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
|
||||
}
|
||||
iprot.readFieldEnd();
|
||||
}
|
||||
iprot.readStructEnd();
|
||||
|
||||
// check for required fields of primitive type, which can't be checked in the validate method
|
||||
struct.validate();
|
||||
}
|
||||
|
||||
public void write(org.apache.thrift.protocol.TProtocol oprot, PullRequest struct) throws org.apache.thrift.TException {
|
||||
struct.validate();
|
||||
|
||||
oprot.writeStructBegin(STRUCT_DESC);
|
||||
if (struct.title != null) {
|
||||
oprot.writeFieldBegin(TITLE_FIELD_DESC);
|
||||
oprot.writeString(struct.title);
|
||||
oprot.writeFieldEnd();
|
||||
}
|
||||
oprot.writeFieldStop();
|
||||
oprot.writeStructEnd();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static class PullRequestTupleSchemeFactory implements SchemeFactory {
|
||||
public PullRequestTupleScheme getScheme() {
|
||||
return new PullRequestTupleScheme();
|
||||
}
|
||||
}
|
||||
|
||||
private static class PullRequestTupleScheme extends TupleScheme<PullRequest> {
|
||||
|
||||
@Override
|
||||
public void write(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException {
|
||||
TTupleProtocol oprot = (TTupleProtocol) prot;
|
||||
BitSet optionals = new BitSet();
|
||||
if (struct.isSetTitle()) {
|
||||
optionals.set(0);
|
||||
}
|
||||
oprot.writeBitSet(optionals, 1);
|
||||
if (struct.isSetTitle()) {
|
||||
oprot.writeString(struct.title);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException {
|
||||
TTupleProtocol iprot = (TTupleProtocol) prot;
|
||||
BitSet incoming = iprot.readBitSet(1);
|
||||
if (incoming.get(0)) {
|
||||
struct.title = iprot.readString();
|
||||
struct.setTitleIsSet(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
60
samples/JavaScript/gen-js-linguist-thrift.js
Normal file
60
samples/JavaScript/gen-js-linguist-thrift.js
Normal file
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// Autogenerated by Thrift Compiler (1.0.0-dev)
|
||||
//
|
||||
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
||||
//
|
||||
|
||||
|
||||
PullRequest = function(args) {
|
||||
this.title = null;
|
||||
if (args) {
|
||||
if (args.title !== undefined) {
|
||||
this.title = args.title;
|
||||
}
|
||||
}
|
||||
};
|
||||
PullRequest.prototype = {};
|
||||
PullRequest.prototype.read = function(input) {
|
||||
input.readStructBegin();
|
||||
while (true)
|
||||
{
|
||||
var ret = input.readFieldBegin();
|
||||
var fname = ret.fname;
|
||||
var ftype = ret.ftype;
|
||||
var fid = ret.fid;
|
||||
if (ftype == Thrift.Type.STOP) {
|
||||
break;
|
||||
}
|
||||
switch (fid)
|
||||
{
|
||||
case 1:
|
||||
if (ftype == Thrift.Type.STRING) {
|
||||
this.title = input.readString().value;
|
||||
} else {
|
||||
input.skip(ftype);
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
input.skip(ftype);
|
||||
break;
|
||||
default:
|
||||
input.skip(ftype);
|
||||
}
|
||||
input.readFieldEnd();
|
||||
}
|
||||
input.readStructEnd();
|
||||
return;
|
||||
};
|
||||
|
||||
PullRequest.prototype.write = function(output) {
|
||||
output.writeStructBegin('PullRequest');
|
||||
if (this.title !== null && this.title !== undefined) {
|
||||
output.writeFieldBegin('title', Thrift.Type.STRING, 1);
|
||||
output.writeString(this.title);
|
||||
output.writeFieldEnd();
|
||||
}
|
||||
output.writeFieldStop();
|
||||
output.writeStructEnd();
|
||||
return;
|
||||
};
|
||||
|
||||
714
samples/KiCad/Volume.sch
Normal file
714
samples/KiCad/Volume.sch
Normal file
@@ -0,0 +1,714 @@
|
||||
EESchema Schematic File Version 2
|
||||
LIBS:mfk_alps
|
||||
LIBS:mfk_connector
|
||||
LIBS:mfk_interface
|
||||
LIBS:power
|
||||
LIBS:device
|
||||
LIBS:transistors
|
||||
LIBS:conn
|
||||
LIBS:linear
|
||||
LIBS:regul
|
||||
LIBS:74xx
|
||||
LIBS:cmos4000
|
||||
LIBS:adc-dac
|
||||
LIBS:memory
|
||||
LIBS:xilinx
|
||||
LIBS:special
|
||||
LIBS:microcontrollers
|
||||
LIBS:dsp
|
||||
LIBS:microchip
|
||||
LIBS:analog_switches
|
||||
LIBS:motorola
|
||||
LIBS:texas
|
||||
LIBS:intel
|
||||
LIBS:audio
|
||||
LIBS:interface
|
||||
LIBS:digital-audio
|
||||
LIBS:philips
|
||||
LIBS:display
|
||||
LIBS:cypress
|
||||
LIBS:siliconi
|
||||
LIBS:opto
|
||||
LIBS:atmel
|
||||
LIBS:contrib
|
||||
LIBS:valves
|
||||
LIBS:Volume-AlpsRK16814MG-cache
|
||||
EELAYER 27 0
|
||||
EELAYER END
|
||||
$Descr A 11000 8500
|
||||
encoding utf-8
|
||||
Sheet 1 1
|
||||
Title "ALPS RK16816MG with H-bridge"
|
||||
Date "4 apr 2015"
|
||||
Rev ""
|
||||
Comp "Mithat Konar"
|
||||
Comment1 "Copyright (C) 2015 Mithat Konar"
|
||||
Comment2 "CERN Open Hardware Licence v1.2"
|
||||
Comment3 ""
|
||||
Comment4 ""
|
||||
$EndDescr
|
||||
$Comp
|
||||
L SN754410 U1
|
||||
U 1 1 550CA683
|
||||
P 7600 4650
|
||||
F 0 "U1" H 7600 5350 60 0000 C CNN
|
||||
F 1 "SN754410" H 7600 4000 60 0000 C CNN
|
||||
F 2 "mfk-DIP-16_AriesC84_e" H 7600 4650 60 0001 C CNN
|
||||
F 3 "~" H 7600 4650 60 0000 C CNN
|
||||
1 7600 4650
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L DGND #PWR01
|
||||
U 1 1 550CA83D
|
||||
P 8450 5500
|
||||
F 0 "#PWR01" H 8450 5500 40 0001 C CNN
|
||||
F 1 "DGND" H 8450 5430 40 0000 C CNN
|
||||
F 2 "" H 8450 5500 60 0000 C CNN
|
||||
F 3 "" H 8450 5500 60 0000 C CNN
|
||||
1 8450 5500
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L DGND #PWR02
|
||||
U 1 1 550CA86E
|
||||
P 6600 5300
|
||||
F 0 "#PWR02" H 6600 5300 40 0001 C CNN
|
||||
F 1 "DGND" H 6600 5230 40 0000 C CNN
|
||||
F 2 "" H 6600 5300 60 0000 C CNN
|
||||
F 3 "" H 6600 5300 60 0000 C CNN
|
||||
1 6600 5300
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
6900 4550 6600 4550
|
||||
Wire Wire Line
|
||||
6600 4550 6600 5300
|
||||
Wire Wire Line
|
||||
6900 4700 6600 4700
|
||||
Connection ~ 6600 4700
|
||||
Wire Wire Line
|
||||
8300 4550 8450 4550
|
||||
Wire Wire Line
|
||||
8450 4250 8450 5500
|
||||
Wire Wire Line
|
||||
8300 4700 8450 4700
|
||||
Connection ~ 8450 4700
|
||||
Wire Wire Line
|
||||
3900 4450 4600 4450
|
||||
Wire Wire Line
|
||||
4400 4450 4400 4400
|
||||
Wire Wire Line
|
||||
4600 4450 4600 4400
|
||||
Wire Wire Line
|
||||
4400 5250 4400 5500
|
||||
Wire Wire Line
|
||||
4600 5400 4600 5250
|
||||
Wire Wire Line
|
||||
5700 4200 5700 4150
|
||||
Wire Wire Line
|
||||
5700 4150 6150 4150
|
||||
Wire Wire Line
|
||||
6150 4400 6900 4400
|
||||
Wire Wire Line
|
||||
5700 4850 6900 4850
|
||||
Wire Wire Line
|
||||
5700 4800 5700 4850
|
||||
Wire Wire Line
|
||||
8300 4250 8450 4250
|
||||
Connection ~ 8450 4550
|
||||
Wire Wire Line
|
||||
6400 4250 6900 4250
|
||||
Wire Wire Line
|
||||
6400 3250 6400 4250
|
||||
Wire Wire Line
|
||||
6750 3750 8450 3750
|
||||
Wire Wire Line
|
||||
8300 5000 8450 5000
|
||||
Wire Wire Line
|
||||
8300 4100 8700 4100
|
||||
Wire Wire Line
|
||||
6750 5150 6900 5150
|
||||
$Comp
|
||||
L C C1
|
||||
U 1 1 550CAD46
|
||||
P 8700 4350
|
||||
F 0 "C1" H 8700 4450 40 0000 L CNN
|
||||
F 1 "100n" H 8706 4265 40 0000 L CNN
|
||||
F 2 "mfk-C_4.0_2.5_2.5_0.5" H 8738 4200 30 0001 C CNN
|
||||
F 3 "~" H 8700 4350 60 0000 C CNN
|
||||
1 8700 4350
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
8700 4100 8700 4150
|
||||
$Comp
|
||||
L DGND #PWR03
|
||||
U 1 1 550CADFB
|
||||
P 8700 4700
|
||||
F 0 "#PWR03" H 8700 4700 40 0001 C CNN
|
||||
F 1 "DGND" H 8700 4630 40 0000 C CNN
|
||||
F 2 "" H 8700 4700 60 0000 C CNN
|
||||
F 3 "" H 8700 4700 60 0000 C CNN
|
||||
1 8700 4700
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
8700 4700 8700 4550
|
||||
Text Label 6400 3250 3 50 ~ 0
|
||||
VOL_UP
|
||||
Text Label 6400 6150 1 50 ~ 0
|
||||
VOL_DOWN
|
||||
$Comp
|
||||
L DGND #PWR04
|
||||
U 1 1 550CB0E4
|
||||
P 3150 2100
|
||||
F 0 "#PWR04" H 3150 2100 40 0001 C CNN
|
||||
F 1 "DGND" H 3150 2030 40 0000 C CNN
|
||||
F 2 "" H 3150 2100 60 0000 C CNN
|
||||
F 3 "" H 3150 2100 60 0000 C CNN
|
||||
1 3150 2100
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3650 1350 3650 1800
|
||||
Wire Wire Line
|
||||
3100 2450 3850 2450
|
||||
Text Label 3850 2450 2 50 ~ 0
|
||||
VOL_UP
|
||||
Wire Wire Line
|
||||
3100 2650 3850 2650
|
||||
Text Label 3850 2650 2 50 ~ 0
|
||||
VOL_DOWN
|
||||
$Comp
|
||||
L PWR_FLAG #FLG05
|
||||
U 1 1 550CB3B3
|
||||
P 3400 2000
|
||||
F 0 "#FLG05" H 3400 2095 30 0001 C CNN
|
||||
F 1 "PWR_FLAG" H 3400 2180 30 0000 C CNN
|
||||
F 2 "" H 3400 2000 60 0000 C CNN
|
||||
F 3 "" H 3400 2000 60 0000 C CNN
|
||||
1 3400 2000
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
$Comp
|
||||
L PWR_FLAG #FLG06
|
||||
U 1 1 550CB3CC
|
||||
P 3900 1650
|
||||
F 0 "#FLG06" H 3900 1745 30 0001 C CNN
|
||||
F 1 "PWR_FLAG" H 3900 1830 30 0000 C CNN
|
||||
F 2 "" H 3900 1650 60 0000 C CNN
|
||||
F 3 "" H 3900 1650 60 0000 C CNN
|
||||
1 3900 1650
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3150 1900 3100 1900
|
||||
Wire Wire Line
|
||||
3150 1900 3150 2100
|
||||
Wire Wire Line
|
||||
3900 1650 3650 1650
|
||||
Connection ~ 3650 1650
|
||||
Wire Wire Line
|
||||
3400 2000 3150 2000
|
||||
Connection ~ 3150 2000
|
||||
$Comp
|
||||
L CONN_2 P4
|
||||
U 1 1 550CCCA8
|
||||
P 2750 2550
|
||||
F 0 "P4" V 2700 2550 50 0000 C CNN
|
||||
F 1 "CTRL" V 2800 2550 50 0000 C CNN
|
||||
F 2 "mfk-TE_282834-2" H 2750 2550 60 0001 C CNN
|
||||
F 3 "" H 2750 2550 60 0000 C CNN
|
||||
1 2750 2550
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
4150 3250 4150 3850
|
||||
$Comp
|
||||
L CONN_5 P1
|
||||
U 1 1 550CCE69
|
||||
P 2750 3450
|
||||
F 0 "P1" V 2700 3450 50 0000 C CNN
|
||||
F 1 "AB I/O" V 2800 3450 50 0000 C CNN
|
||||
F 2 "mfk-TE_282834-5" H 2750 3450 60 0001 C CNN
|
||||
F 3 "" H 2750 3450 60 0000 C CNN
|
||||
1 2750 3450
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3150 3250 4150 3250
|
||||
Wire Wire Line
|
||||
4300 4100 4350 4100
|
||||
Wire Wire Line
|
||||
4350 4100 4350 3350
|
||||
Wire Wire Line
|
||||
4350 3350 3150 3350
|
||||
Text Label 3150 3250 0 50 ~ 0
|
||||
A_TOP
|
||||
Text Label 3150 3350 0 50 ~ 0
|
||||
A_WIPER
|
||||
Text Label 3150 3550 0 50 ~ 0
|
||||
B_TOP
|
||||
Text Label 3150 3650 0 50 ~ 0
|
||||
B_WIPER
|
||||
$Comp
|
||||
L CONN_5 P2
|
||||
U 1 1 550CCF9F
|
||||
P 2800 4800
|
||||
F 0 "P2" V 2750 4800 50 0000 C CNN
|
||||
F 1 "CD I/O" V 2850 4800 50 0000 C CNN
|
||||
F 2 "mfk-TE_282834-5" H 2800 4800 60 0001 C CNN
|
||||
F 3 "" H 2800 4800 60 0000 C CNN
|
||||
1 2800 4800
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3200 4600 4150 4600
|
||||
Wire Wire Line
|
||||
3200 4700 3900 4700
|
||||
Wire Wire Line
|
||||
3200 4900 3700 4900
|
||||
Wire Wire Line
|
||||
5100 4950 5100 5700
|
||||
Wire Wire Line
|
||||
5100 4950 4950 4950
|
||||
Wire Wire Line
|
||||
3200 4800 3800 4800
|
||||
Wire Wire Line
|
||||
5000 4600 5000 5600
|
||||
Wire Wire Line
|
||||
5000 4600 4800 4600
|
||||
Wire Wire Line
|
||||
4800 4600 4800 4700
|
||||
Wire Wire Line
|
||||
4300 5400 4300 4950
|
||||
Text Label 3200 4600 0 50 ~ 0
|
||||
C_TOP
|
||||
Wire Wire Line
|
||||
3900 5400 4300 5400
|
||||
Wire Wire Line
|
||||
4400 5400 4600 5400
|
||||
Wire Wire Line
|
||||
3900 4700 3900 5400
|
||||
$Comp
|
||||
L RK16814MG RV1
|
||||
U 1 1 550CA765
|
||||
P 4500 4500
|
||||
F 0 "RV1" H 5850 5250 50 0000 C CNN
|
||||
F 1 "RK16814MG" H 5700 3600 50 0000 C CNN
|
||||
F 2 "mfk-ALPS_RK16814MG" V 4800 4900 60 0001 C CNN
|
||||
F 3 "~" V 4800 4900 60 0000 C CNN
|
||||
1 4500 4500
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
4150 4600 4150 4700
|
||||
Text Label 3200 4700 0 50 ~ 0
|
||||
C_WIPER
|
||||
Text Label 3200 4900 0 50 ~ 0
|
||||
D_TOP
|
||||
Text Label 3200 5000 0 50 ~ 0
|
||||
D_WIPER
|
||||
Wire Wire Line
|
||||
3900 3450 3900 4450
|
||||
Connection ~ 4400 4450
|
||||
Connection ~ 4400 5400
|
||||
Text Label 3150 3450 0 50 ~ 0
|
||||
AB_COMMON
|
||||
Wire Wire Line
|
||||
3600 5000 3200 5000
|
||||
Text Label 3200 4800 0 50 ~ 0
|
||||
CD_COMMON
|
||||
$Comp
|
||||
L +5VD #PWR07
|
||||
U 1 1 550CE6FC
|
||||
P 7600 3650
|
||||
F 0 "#PWR07" H 7600 3600 20 0001 C CNN
|
||||
F 1 "+5VD" H 7600 3750 50 0000 C CNN
|
||||
F 2 "" H 7600 3650 60 0000 C CNN
|
||||
F 3 "" H 7600 3650 60 0000 C CNN
|
||||
1 7600 3650
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +5VD #PWR08
|
||||
U 1 1 550CE733
|
||||
P 3650 1350
|
||||
F 0 "#PWR08" H 3650 1300 20 0001 C CNN
|
||||
F 1 "+5VD" H 3650 1450 50 0000 C CNN
|
||||
F 2 "" H 3650 1350 60 0000 C CNN
|
||||
F 3 "" H 3650 1350 60 0000 C CNN
|
||||
1 3650 1350
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3900 3450 3150 3450
|
||||
Wire Wire Line
|
||||
4800 3850 4800 3550
|
||||
Wire Wire Line
|
||||
4800 3550 3150 3550
|
||||
Wire Wire Line
|
||||
4950 4100 5000 4100
|
||||
Wire Wire Line
|
||||
5000 4100 5000 3650
|
||||
Wire Wire Line
|
||||
5000 3650 3150 3650
|
||||
Wire Wire Line
|
||||
3600 5000 3600 5700
|
||||
Wire Wire Line
|
||||
3700 4900 3700 5600
|
||||
Wire Wire Line
|
||||
3800 4800 3800 5500
|
||||
Wire Wire Line
|
||||
3800 5500 4400 5500
|
||||
Wire Wire Line
|
||||
3700 5600 5000 5600
|
||||
Wire Wire Line
|
||||
3600 5700 5100 5700
|
||||
$Bitmap
|
||||
Pos 10300 6850
|
||||
Scale 1.000000
|
||||
Data
|
||||
89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 00 5F 00 00 00 64 08 06 00 00 00 E0 F1 EC
|
||||
9B 00 00 00 04 73 42 49 54 08 08 08 08 7C 08 64 88 00 00 00 09 70 48 59 73 00 00 07 6C 00 00 07
|
||||
6C 01 9C F3 D5 25 00 00 13 B3 49 44 41 54 78 9C ED 9D 7B 7C 54 D5 B5 C7 BF EB CC 04 C2 43 1E 5A
|
||||
45 D0 2A F6 FA 82 52 A0 6A D5 D6 5A B1 3E 69 21 27 40 A3 F6 E1 55 51 4E 78 5C B5 B4 DA 56 3F 7E
|
||||
8A 69 BD D4 6A 6F 6F AB AD 90 13 90 48 3F B7 B6 E6 16 66 22 8A F6 65 44 AD AD A2 45 B4 A5 D6 17
|
||||
88 12 15 5A 0C F2 CA 64 E6 AC FB C7 3E 93 49 86 10 66 92 7D 48 E8 E5 F7 F9 E4 33 AF BD D7 59 FB
|
||||
77 76 F6 D9 7B ED B5 D6 16 55 E5 40 80 F8 C9 7B 80 59 05 14 5D A0 9E 3B 3B 6A 7D 6C C0 E9 69 05
|
||||
8A C0 85 96 CB F5 38 E4 40 E8 F9 E2 27 0F 01 9A 00 29 A0 B8 02 83 D5 73 3F 88 56 AB EE E3 40 E9
|
||||
F9 63 29 8C 78 C2 72 63 23 D4 C5 1A 0E 14 F2 C7 45 5C BE 47 70 A0 90 3F 3E E2 F2 3D 82 83 E4 F7
|
||||
20 22 27 5F FC E4 67 C5 4F 5E DE 8D FA 31 60 4C 91 D5 C6 84 F5 BA 7A CD CB C5 4F 7E B6 AB F5 0B
|
||||
45 A4 E4 8B 9F 2C 03 56 02 4B C5 4F AE 14 3F 39 A2 0B 62 4E 04 FA 15 59 A7 5F 58 AF 28 88 9F 1C
|
||||
21 7E 72 25 B0 14 58 19 EA 1F 19 22 23 3F 54 BC 0E E8 13 7E 75 31 F0 92 F8 C9 CB 8A 14 75 4A 17
|
||||
55 38 B5 98 C2 A1 5E 2F 61 F4 04 A3 77 5D 94 37 20 92 79 7E 07 C4 E7 E3 01 60 B6 7A EE 3F 3A 91
|
||||
31 00 B8 0C A8 02 8E EA 82 1A 8D C0 AD C0 CF D5 73 B7 77 72 9D C3 80 7B 80 4B F6 52 24 05 54 A8
|
||||
E7 D6 77 41 87 4E 61 9D FC 02 88 CF A2 11 98 A1 9E FB 50 5E FD 31 40 25 70 39 30 D8 82 4A 1F 00
|
||||
3F 03 16 AA E7 BE 98 77 AD CF 03 35 C0 F0 7D C8 88 E4 06 58 25 BF 08 E2 DB 62 11 70 3B F0 49 60
|
||||
26 70 96 35 85 F6 C4 53 C0 42 E0 69 E0 5B C0 35 45 D4 B5 7E 03 AC 91 DF 45 E2 0F 34 58 BD 01 36
|
||||
1F B8 35 FC 6B 13 0F A6 7D 35 B6 84 D9 24 FF 4E 8B B2 7A 33 AC B5 D3 26 F9 3F 04 9E B4 28 AF 37
|
||||
E2 49 4C 3B AD C0 F6 03 F7 23 C0 0B C0 40 6B 42 7B 0F B6 03 E3 D4 73 5F B7 25 D0 EA 22 2B 54 EC
|
||||
06 9B 32 7B 11 6E B0 49 3C 44 B7 C8 5A 49 6E A5 F8 AF 80 47 D4 73 27 DA 16 1A 95 79 E1 6A 60 6B
|
||||
44 B2 F7 37 B6 62 DA 63 1D 91 90 AF 9E BB 09 98 13 85 EC 1E C0 9C B0 3D D6 11 E9 1E AE F8 C9 06
|
||||
E0 9C C8 2E 10 3D 1E 57 CF 9D 10 95 F0 A8 ED F9 F1 88 E5 47 8D 48 F5 8F AC E7 8B 9F 1C 07 AC 89
|
||||
44 F8 FE C5 78 F5 DC 17 A2 10 1C 65 CF BF 2E 42 D9 FB 13 91 B5 23 AA A9 E6 61 C0 5B 40 A9 75 E1
|
||||
39 BC 05 BC 0C 9C 04 1C 1D E1 75 76 03 47 77 B6 F7 D0 55 44 35 A6 CD C0 3E F1 29 E0 2E E0 31 E0
|
||||
39 F5 DC 77 B3 3F 88 9F 1C 86 D9 B9 3A 17 D3 53 6D 1A F8 4A 31 ED B9 DD A2 4C 20 9A CD 94 18 F0
|
||||
06 F0 61 8B 62 D7 00 57 A8 E7 AE 2D E0 FA 63 81 FB B0 EB C1 B0 11 38 4E 3D 37 63 51 66 24 63 FE
|
||||
97 B1 4B FC 7C E0 F4 42 88 07 08 CB 9D 1E D6 B3 85 0F 63 DA 65 15 DD EA F9 E2 27 FB 03 1F C3 F4
|
||||
B2 F1 18 4F B1 D3 81 2E BB 6D E4 A1 4E 3D 77 6F 7B AB FB 84 F8 C9 07 80 0A 4B BA 64 80 67 30 86
|
||||
C3 35 E1 DF 8B EA B9 3B BB 2A B0 60 F2 C5 4F 96 00 E7 63 08 CE 92 7D 02 D1 CD 98 36 03 1F 55 CF
|
||||
DD DC 55 01 E2 27 0F 07 FE 02 1C 6E 4D AB F6 08 80 57 C8 DD 8C 17 80 DF AA E7 B6 14 52 B9 98 07
|
||||
EE 95 80 5F AC 76 DD C0 9C EE 10 0F A0 9E BB 59 FC E4 1C 8C B7 44 14 70 30 B3 AD 93 80 4B C3 EF
|
||||
3C 0A DC ED 2A A6 D7 0E 28 4E AF 6E A1 51 3D B7 CE 86 A0 50 4E A3 0D 59 05 A2 60 9E 7A AB AF E6
|
||||
EA 5E 2E CF 0A 7A 2B F9 CF F5 72 79 56 D0 5B C9 3F D8 F3 7B 10 7B 75 EF EB 25 F2 AC A0 B7 92 7F
|
||||
5C 2F 97 67 05 BD 95 FC 13 7A B9 3C 2B E8 AD E4 5F 22 7E B2 D0 00 B8 4E 11 CA E9 F2 2A 39 4A 14
|
||||
43 FE FE 0C AD 3C 1E B3 9A B6 81 F3 43 79 FB 0B 05 F3 54 CC 0A B7 16 78 8D 9C 0D 67 1C 30 1A E8
|
||||
5B 8C 66 45 60 BE F8 C9 86 42 97 EA 1D 21 34 89 D8 34 B0 E5 A3 19 F8 2B C6 AC 90 B5 F9 3C 51 68
|
||||
E5 82 C9 0F CD A9 0D E1 1F 00 E2 27 E3 C0 C9 E4 6E C6 29 C0 79 85 CA DC 07 4E C3 10 77 63 37 64
|
||||
CC 0F E5 D8 C2 EF 80 E7 C9 91 FD 37 F5 DC 74 57 85 45 61 CF FF 09 F6 DC 46 14 F8 86 7A EE 0F BA
|
||||
A0 C7 0D C0 1D 14 1E 3C BD 2F FC 54 3D F7 3F 2C C9 02 A2 21 7F 14 E6 5F D1 26 EE C5 84 11 35 17
|
||||
70 FD BE 98 30 9F E9 96 75 18 AD 9E BB CE A6 C0 A8 F6 70 57 01 67 5B 16 FB 22 50 DE 99 BF 64 E8
|
||||
A8 9B C0 EC 31 D8 C4 13 EA B9 9F B1 2C 33 B2 A9 66 14 A6 E7 8F 01 1F DD 47 99 8F 62 9F 78 88 C8
|
||||
94 1E 15 F9 FF 8B 7D 5F CD B7 31 31 BD 9D 61 65 58 CE 26 B6 62 DA 63 1D 51 F9 6A EE C6 04 12 DB
|
||||
84 BF AF 99 45 F8 BB ED 5E BA 34 6C 8F 75 44 B9 C2 B5 16 BB 04 A4 8B 90 57 13 96 B7 05 9B ED 68
|
||||
87 C8 C8 57 CF FD 0B F6 86 9E 84 7A 6E 41 BB 51 61 B9 84 A5 EB 6E 0D DB 11 09 A2 0C FF BF 1C 18
|
||||
6A 49 DC 3D 11 97 DF 1B 86 76 27 69 C7 BE 10 D5 54 F3 68 4C 1E 03 1B 11 E4 7F 53 CF 1D D5 05 1D
|
||||
D6 61 56 DF DD 45 13 30 46 3D F7 2D 0B B2 DA C1 7A CF 0F AD 88 4B B0 43 3C C0 82 FD 5C 2F 1F 83
|
||||
81 25 B6 AC AC 6D 11 C5 B0 33 1B 7B 16 C9 1D 18 D7 BF AE E0 BE B0 BE 0D 9C 8F 69 97 55 58 25 5F
|
||||
FC E4 09 18 7B 8A 2D FC 5C 3D B7 A9 2B 15 C3 7A 3F B7 A8 CB 1D 61 FB AC C1 1A F9 A1 83 EC 52 A0
|
||||
BF 2D 99 74 FF C1 69 EB C1 0B A6 5D 4B BB 93 C1 2A 1F 36 7B FE 37 80 33 2D CA FB A3 7A 6E B7 22
|
||||
5B C2 FA 7F B4 A4 0F 98 F6 7D C3 96 30 9B E4 7F D5 A2 2C B0 D7 6B 6D F6 7E B0 D8 4E 9B E4 5F 81
|
||||
D9 D9 B1 81 2D D8 F3 AF 7C 20 94 67 03 CD 98 76 5A 81 35 F2 D5 73 1F 01 CA 29 EE 06 28 F0 3F C0
|
||||
43 79 DF DF 5B 88 ED BE 40 BD 9A 31 FB 01 6D F1 50 78 DD 62 16 39 CD 18 93 F6 23 36 F4 02 FB B9
|
||||
17 8A B9 01 6F 02 E7 A9 E7 7E 45 3D 77 12 26 C3 D4 2A 8C DB 75 B5 4D BD 42 79 41 28 FF 2C F5 DC
|
||||
49 EA B9 5F C1 6C 79 BE 59 40 7D EB C4 43 74 2B DC 8B 31 F6 95 BD 6D AE D7 02 D7 AB E7 6E EB A0
|
||||
EE D1 51 AC 26 F7 26 57 FC E4 20 E0 C7 18 17 F8 8E 10 09 F1 10 6D 1C 6E 47 37 E0 3D C0 53 CF 4D
|
||||
46 72 D1 6E 40 FC A4 8B 31 47 1F D1 E6 EB C8 88 87 68 AD 9A F9 43 50 02 63 23 E9 75 C4 03 84 7A
|
||||
8D 21 67 11 8D 94 78 D8 0F F9 F3 C5 4F 7E 1A 18 6E 2B D8 61 7F 40 FC 64 05 26 40 23 D2 CC 59 07
|
||||
C4 E1 05 FF AA E8 AD BE 9A FF 2F 70 90 FC 1E C4 41 F2 7B 10 07 C9 EF 41 1C 24 BF 07 71 90 FC 1E
|
||||
44 1C 40 FC 15 FD 91 CC 6C 94 B3 50 FA 01 7F 42 32 0B D5 9B DA 08 20 8B 96 1D 4D 26 B6 08 61 23
|
||||
E2 FC 08 74 2E AA 27 80 AE 25 16 FC 40 AF 9E BA 21 2B 50 40 A8 4E 4C C7 61 32 EA 0C 41 83 35 68
|
||||
FC 4E 9D 39 A9 D5 93 4C AA 93 8F 20 A4 08 62 B3 88 65 6E 41 39 09 E1 61 E2 A9 FB F4 AA 8A 4E A3
|
||||
CE A5 BA FE 34 24 98 08 72 2E E8 56 90 75 A4 A9 D6 D9 EE C6 D6 32 FE 8A 0F 41 7A 16 22 67 A2 64
|
||||
10 79 9A DD 25 3F D5 6B 27 6E 33 ED A9 1F 4B 46 EF 40 58 AD 9E 7B 4B 6B BD 9A E5 E7 10 38 37 21
|
||||
34 A8 E7 DE DE AE DD 8E DC 8D EA D7 51 8E 02 EA 29 49 DD AF 57 55 6C 96 EA E5 E3 10 67 16 30 0A
|
||||
65 23 8E 3C CE A6 41 4B 74 DE 84 34 80 DC 5B 7F 08 69 FD 26 AA 9F 44 64 17 C8 E3 34 97 DC A5 D7
|
||||
4E 6C 16 EE 7A 78 10 7D 53 7F 04 F2 3D 04 DE 45 63 67 6B E5 A4 57 C4 5F 71 32 64 D6 61 F6 44 1D
|
||||
DA 1F A3 F1 0E 64 4E 69 BD 51 7E F2 7E CC A1 03 6D B1 0D 71 CE D7 19 93 9F 0D CB 28 C6 D0 B5 85
|
||||
F6 CB F9 9D 88 73 BA CE 98 DC A1 AF 8C F8 89 AF 83 74 E4 2E BE 03 63 A4 FB 93 2C 4C 8C C4 91 A7
|
||||
80 FC 23 42 5E 25 96 3A 43 AF AE F8 A7 2C 4C 4C C0 91 C7 50 1E D5 4A B7 35 FF A7 D4 D4 5F 86 EA
|
||||
FD C0 2F D5 73 2F 6B D3 EE ED 61 BB C3 5D 3A D9 4C 26 7D 26 F1 F8 79 A8 2E 20 3F D1 87 EA EF E9
|
||||
CB 34 00 52 F2 67 60 64 9E 2E 6B E9 D7 EF 53 0E A5 A9 9B 31 C4 6F 04 AE 47 F5 4B 18 8F E0 61 38
|
||||
E9 FC A4 CD 03 80 DF A3 72 0E A2 97 62 6C 35 47 42 7C 96 51 3E 31 11 43 FC 1B 88 7C 11 62 A7 A2
|
||||
F2 00 30 08 0D F2 DD 07 1D 60 13 C8 25 28 D3 41 5E 07 FA A3 C1 BC 0E C8 CD D2 73 63 D8 B8 EB 88
|
||||
65 46 12 E8 19 20 FF 85 92 C0 73 9F 31 52 E5 76 0C F1 EB 40 AE 44 65 16 B0 1E 38 9E 74 C9 B7 F7
|
||||
2E BB 53 0C 04 9E 04 BD 08 F8 1A 9A 71 D1 58 0B AA 3F 0C DB 51 8F 52 16 72 F2 32 48 23 A9 F7 76
|
||||
90 92 2A 60 24 CA A3 08 67 A1 94 61 B8 1D CB AE 5D F3 E2 A8 5C 0C 0A AA DF D4 CA F2 FB 01 A4 7A
|
||||
F9 5F 11 67 8D F9 2D 0F E9 92 6B 74 F6 E7 DE 01 90 9A E4 31 28 77 82 8E 36 A4 38 E5 A1 AC FF 56
|
||||
CF FD 05 80 D4 26 2A 49 89 0B 9C 2C 0B 13 23 75 66 F9 FA 36 64 7E 4D BD B2 C7 CC 35 93 20 DC 0B
|
||||
D2 E1 59 27 52 57 17 83 3E 31 20 4D 89 F3 2B 9D 5E BE 09 D8 80 49 C3 D2 16 46 67 0D AE D6 CA 29
|
||||
4F 1B D9 0F 36 22 41 02 E9 A0 3D 85 41 09 B4 32 D4 FD D7 A6 ED F5 D7 A3 3A 10 58 AD 9E EB B6 EA
|
||||
79 4F DD C3 CC AE D8 A1 A0 E2 27 CB 01 08 32 B3 B5 72 EA EB 21 67 71 94 65 C0 E7 E2 A0 E6 3C 12
|
||||
47 73 21 F2 87 A6 5F 62 6B 9F 9D 40 7F F9 E9 F2 C3 28 29 C9 FE B2 2D 4B 7C 88 D7 C2 D7 21 A1 8E
|
||||
C6 49 49 E4 02 F1 13 6D 49 FC 00 E8 4B 4C 8E C7 F4 42 80 16 1A FF FC 38 84 E7 C1 C4 32 BF 21 88
|
||||
01 DA 61 E2 08 AD A8 C8 88 9F 5C 02 DC 48 5A D7 8B 9F 5C 0B F2 1E 12 AC 03 7E A6 33 CA D7 C8 CF
|
||||
7E 3D 00 E3 67 93 61 67 3A B7 FF 2B 2D CF 84 23 43 57 CE 5E 01 F4 D5 F6 9D 06 50 0D 87 69 6D B7
|
||||
11 A4 B3 2B B6 43 F8 1C 35 49 92 76 10 73 BE 2D 7E 68 AF 13 A7 4F B8 87 73 72 9C 6C C6 6F 4D B7
|
||||
E6 2C 0B 1B BA 19 38 96 52 1D 48 2E B9 55 7B 37 0E 71 9A D0 00 90 AC D9 F8 D0 F0 75 72 87 D1 38
|
||||
81 B4 8D 01 0B 74 DE BC A0 F5 53 AA 34 4D 7C 1F B1 6F 2D C1 F7 29 71 52 98 A8 93 53 CD 7F 99 4C
|
||||
04 E6 C8 E2 FA 31 68 6B 24 E0 07 3A B7 62 57 AE E2 96 2D 30 2C 0D F4 97 AA 2A 87 61 C5 9E DE 27
|
||||
C1 9E 5F 71 98 E1 D0 79 A3 C3 2A 01 43 71 10 60 00 48 6E EB 31 67 4B 8B C5 31 E9 50 8E 43 E2 E3
|
||||
81 C7 01 4C 6F 77 8E 05 60 67 BF 77 E8 9B C9 46 70 1F 25 BE 5F A2 9E D7 12 0A 1A 19 4A 0C 6F 8A
|
||||
FE 1D 64 0C 4A 99 56 BA 0F 16 D9 C2 7D 42 E7 4C F9 07 70 8B 54 55 7D 9B C3 3F 71 04 B1 F4 D1 88
|
||||
7E 0B 98 46 9A CB 78 E7 CF F3 19 3E 3E 03 0C 91 C5 CB 8E 6D 9D 85 39 47 8C 25 20 0E 34 EA BC 79
|
||||
81 D4 2C 57 54 40 F2 D2 91 69 11 E9 C9 94 97 C3 37 17 D2 91 63 D7 CC 49 9B F0 93 3B 00 A5 5F BF
|
||||
23 F5 F2 0B F7 70 E0 72 00 13 66 A3 CE 54 F1 FD 12 01 A1 24 F6 C5 F0 F7 B7 F5 DA 89 CD ED CB 1F
|
||||
99 3B 6F 56 35 FB FE 9F E1 6B F6 34 9E AB A4 AA CA 01 90 BB 57 0E 92 9A FA 2F 4B 5D 5D B7 32 FE
|
||||
49 5D 5D 4C FC E4 0F C5 AF 3F 57 E7 CD 0B 74 F6 E7 DE D1 CA B2 D5 48 E8 1A 22 3A 3E FC 4F 5A 0F
|
||||
40 10 AB 90 AA 2A 47 AA 1A E2 04 8E 09 82 96 B0 AD 69 CD 4E 4B 47 8B BF FC D3 90 1D 26 F4 2B 85
|
||||
2B D4 9A C9 E4 62 59 58 FF F1 D6 AF 6B 12 57 4A F5 F2 71 6A C6 96 97 80 81 EC DA D9 9A 9F 4D 16
|
||||
D7 1F 2F 7E FD E7 01 E2 A8 7E 0F 91 F3 80 EB 60 D8 17 F0 93 4D E4 A6 9D DF DB F3 AA FA 2B F1 93
|
||||
7F 00 8E 6C 2D A7 84 B6 FA F8 4F 20 98 8D E8 14 86 8F 7F 53 AA EB 9F A2 AF 4E 44 39 84 F7 4B AE
|
||||
10 B8 48 8B DB B4 CE 61 6B 89 07 CC 05 FD AA F8 C9 E7 50 5E 02 86 23 61 AE 66 D5 95 E1 EB F7 10
|
||||
59 84 72 27 C3 C7 57 42 53 1F E0 18 F3 9B 98 F6 CC 9A FA 06 7E F2 AF C0 68 70 56 89 9F CC 4E B5
|
||||
87 14 AC CF 0C 37 41 75 F2 09 84 B3 71 F4 79 F1 13 CF 83 F4 03 19 85 C8 56 59 52 77 12 D2 67 1E
|
||||
CA 23 20 D5 E2 27 2A C1 79 37 9C 31 39 E2 27 6E 70 B4 B2 FC 77 66 AA C7 36 CC 14 6D 14 D0 02 F2
|
||||
5D 1A D7 E4 3B 9B 6E 40 B9 1F 93 BF 32 7B 83 6E CF 0E 31 EA 4D DA 82 F2 05 4C B2 D1 A3 10 BD 04
|
||||
38 04 78 0D 8D 7F AB CB C4 03 EA 95 2F 08 A7 72 1B 81 D3 10 AE 44 B8 08 78 15 B8 49 2B CB 17 03
|
||||
50 59 7E 2F 22 37 63 76 A2 8E C7 10 BF 13 74 B6 7A 65 0F 81 79 52 40 6C 1A C8 4A F3 91 4F 82 B4
|
||||
80 14 1C D5 A2 A0 48 E6 52 44 C3 9D 39 39 25 E4 64 13 2A 97 EA 55 15 9B 75 86 FB 28 AA D7 01 4D
|
||||
E6 77 9D 08 38 A8 AC 20 D6 B2 A4 75 33 45 AA 1A E2 1C B9 6D 3C 4E 66 00 DB D3 CF B4 7D 60 B5 59
|
||||
6C BC AC 9E 7B B2 F8 2B 8E 41 83 D1 68 E6 79 9D 39 E5 BD 7C C5 A4 AA 21 CE 51 EF 8F 23 23 23 70
|
||||
82 97 99 31 E5 95 B6 C4 CB A2 07 CF 24 9D 09 74 66 F9 33 B9 6B F8 25 38 C3 4F 25 90 94 7A 93 9E
|
||||
EF AC E1 66 E5 19 1F 43 09 6B 75 7A 59 87 E9 D5 E5 EE 95 7D 29 69 39 8D B8 64 08 1A 9F 6B 7D 4E
|
||||
E5 97 5B 98 18 49 4C 8F A5 74 C0 6A B6 ED 28 A5 6F FC 04 44 B7 E8 D5 65 AF 4A 6D 43 29 E9 0F C6
|
||||
93 49 EF D2 CA 29 7B CD A7 6C 64 30 8A 40 36 68 A5 BB 47 18 AC F8 75 83 71 FA 8C 25 23 03 C8 C4
|
||||
D7 B4 4E D5 0B D9 C9 CA 27 7F 9F 15 22 80 D4 26 86 90 6A 51 F5 2A BA E4 38 DB 1B 71 40 A4 58 97
|
||||
DA 86 52 52 B2 15 FA 34 13 6D 7E E6 FD 8A 83 56 CD 1E C4 41 F2 7B 10 5D 22 5F AA AA 1C 59 52 D7
|
||||
69 96 56 A9 4D 0C 91 BB 57 0E EA F0 37 DF 2F 91 DA 86 D2 D6 B5 C0 E2 BA 43 F3 D7 01 02 22 F7 3C
|
||||
7C 64 87 F5 EF 5E D9 57 6A 1B 4A 25 6F 19 2D BE 5F D2 D1 7A 42 6A 1B 4A A5 B6 A1 B4 7D D9 BA C1
|
||||
E2 D7 75 18 BA D4 AA 5F 5D 5D 0C 40 16 3C 34 54 EE 5E B9 87 F7 9D DC 53 37 50 16 D5 0F EB 48 46
|
||||
21 28 F6 81 FB 77 4C 00 C4 CD 40 7F 84 06 54 7F AC 5E 79 22 57 36 F9 25 CC FA E0 18 4C FE E1 35
|
||||
C0 2A 88 CD 57 6F D2 96 B0 CC 2F 80 4B 41 6F 00 F9 22 26 FD FA 3F 81 85 78 EE 2D F8 89 5B 40 E6
|
||||
62 A2 19 DF 46 E4 86 D0 D4 DB AC 9E 5B 2A 7E 72 35 70 2A 2A 17 6A 65 D9 6F DA 5C FB 15 60 10 8D
|
||||
6B 86 67 4D 17 C6 FE AF CF 02 6F E1 B9 C7 50 9D 9C 86 70 27 C6 CC 1B 00 2F A0 BA 8A 4C 9F DB 5B
|
||||
67 21 7E A2 D6 98 04 E4 D6 70 7A 78 06 F0 3E 48 AD 7A 65 73 A5 66 F9 89 E0 54 A3 9C 83 E9 00 9B
|
||||
40 6E 56 AF AC A8 10 A6 62 7B FE 89 C0 6D 21 A9 01 CA 04 90 5F 49 75 FD 67 20 34 4B A0 B7 62 0E
|
||||
13 58 0B FA 3C 66 EE 3B 17 49 77 10 A2 23 3F C0 E4 E8 69 02 06 A3 D2 80 9F 98 09 F2 1D 0C F1 DB
|
||||
81 41 21 F1 6D B1 DC BC B4 AE B0 91 EA E5 E3 30 F3 FA 23 18 31 36 97 74 C3 E1 82 B0 6C 02 BF 6E
|
||||
10 C2 77 30 1D E3 45 E0 59 E0 44 44 AE 27 D6 D2 81 4B BA DE 8A 21 BE C9 E8 21 0D E2 AF E8 8F 3A
|
||||
BF 35 6D 67 1B C6 B8 38 02 B4 56 6A EA 8B CA 74 52 FC B0 23 7A 1B 3B 52 C3 08 F4 DF 30 C9 42 1D
|
||||
24 B8 02 B2 B6 97 96 4F A0 72 AE 7A EE 38 F5 CA 4F 87 D8 28 20 85 CA 67 43 AB 63 5B AC 27 93 39
|
||||
1E DE 3D 1C 47 4E 09 7B F1 55 E1 85 16 30 34 35 84 C6 C1 87 62 CE CC 6D A3 75 B0 CC 14 E1 A2 9C
|
||||
5E B1 69 6D 0A B4 79 9F BD 41 CE 32 F5 2A 9A 48 A7 4E 07 39 5F 3D 77 AC 7A EE 99 94 A4 8E 03 76
|
||||
21 9C 2D B5 89 FC 15 EE 26 34 76 22 8D 83 3F 84 06 A7 68 E5 E4 24 9A B9 16 63 AD 4C 40 6C 04 9E
|
||||
7B 02 E6 1C 5F 50 BD 23 7F 28 EC 0C C5 92 BF 8B 98 73 87 CE AD D8 A5 33 CB D7 87 BB 38 80 B4 CE
|
||||
FD D5 AB 68 D2 CA B2 55 B9 CF 93 DE C4 1C 66 10 63 FB EE FC E3 35 6A 74 D6 D4 D7 D5 F3 5A F4 9A
|
||||
B2 30 3F BE 7C C8 68 26 4B B5 A2 22 A3 F3 26 A4 D1 A0 9D 7F BD 5E 33 65 1D F0 37 E0 63 E2 2F 0B
|
||||
4F 71 D6 69 98 5E F8 07 94 29 02 62 7A 29 9F 02 FE C1 D0 E6 55 60 4C BE D9 3D 04 00 B3 6D 29 7F
|
||||
07 A0 59 8F CD D3 6F A9 56 4E 7A 45 E7 4D 48 B7 59 64 9D 11 D6 5C A0 DE A4 9D 66 F1 F8 EE BD 98
|
||||
5D B9 C3 A8 5E 51 70 3E B7 62 E7 F9 6F EA F4 B2 5C 02 B7 58 EC 2F 04 01 B4 D9 46 93 EA FA 99 88
|
||||
7A 98 21 2A 2B DF 3C 04 63 4E 5E AF D0 0E 92 22 C9 40 50 48 A7 73 79 75 94 D7 F6 E8 4F AA CB 11
|
||||
B9 09 8D 5D 20 FE 8A 67 80 D1 20 3F 42 78 0F D5 F9 2C 7A F0 0C 24 33 14 95 3E 40 BD 56 54 64 00
|
||||
A4 A6 7E 3A 1A CC 01 39 11 C8 6E 54 18 FD 1C 69 7F 15 D1 97 F7 54 2F 1B 58 2D F5 E2 67 7D 7E 87
|
||||
B5 91 D1 32 02 93 D6 7D 9F B0 BA C8 92 85 F5 67 E1 E8 02 60 37 CA B3 38 6A AC 9D 2A E7 51 F0 49
|
||||
A1 6A 6C E7 71 CD CD 5A E2 DA 87 3D 2C EA CE 32 D0 9B CC D0 93 31 A6 60 47 1E 24 9D 7E 0F C7 99
|
||||
4F 26 98 86 88 E9 14 62 86 29 59 94 38 15 95 C5 20 CD 08 AB 41 B7 84 FA 9D 0B 74 38 33 EB A0 95
|
||||
A9 D0 52 F2 24 A2 7B 66 AA CD 50 F0 C1 36 76 57 B8 4E 30 03 04 54 2E 6A 3B F4 88 9F DC 44 E1 C7
|
||||
B4 6E 07 86 41 EC 38 CC 89 40 90 89 7F 04 69 3F 2B D3 CA B2 D5 E2 27 37 62 02 94 47 03 EF F3 F6
|
||||
21 AB 74 DE 84 B4 F8 C9 0D 88 4C 05 DD 0D 6C 67 77 A9 99 11 05 32 23 AC 5D A6 33 CA 7F DD 46 BF
|
||||
37 28 98 7C 5D 07 8C 43 F5 7E F5 42 63 5E 17 61 79 91 E5 1C 11 4A FD B8 D4 D5 F5 11 90 70 53 7D
|
||||
78 11 42 8C 8B 49 C0 8D E2 AF 38 46 16 2F 3B 16 D1 9B C2 DF F2 E7 C5 CB 31 DE 0F E3 81 47 B2 EE
|
||||
1A C0 0A D0 8F 00 A3 51 79 B8 75 4F 42 B3 9E 12 72 5A 76 9D 20 7E FD B9 EC E9 5D D0 09 E4 29 F3
|
||||
22 D7 C9 A2 07 CF 94 AA 86 B8 D4 D4 5F 26 7E B2 5E 16 D4 9F 54 44 3B 2D 93 AF 7A 5F F8 FA 23 B6
|
||||
F6 79 1F 3F B9 1D 95 87 8B 93 21 3F 0E DF 4D 86 CC 06 32 B1 F5 E4 D2 09 B4 1F 93 03 5D DE E6 53
|
||||
6E E7 4C 65 45 EB 7B 87 5C 19 D1 AC 07 C5 7F 92 6A DA 8A 9F FC 00 F4 F7 45 E9 37 B4 79 01 E8 B3
|
||||
C0 58 82 E0 69 86 37 6D 0B A7 C2 93 89 E9 5D C5 88 2A 90 FC 74 0B B0 01 D5 F6 29 B4 D2 DA 8C F1
|
||||
20 68 04 D0 4A F7 97 88 FE 3B B0 16 D3 4B DF 45 F4 36 CC D9 56 1B 42 39 80 6E 0E EB ED 71 D8 8B
|
||||
56 96 2D 0B ED F6 7F C2 CC A3 57 85 CF 8C 0D E1 5F 0E 87 B5 3C 11 5E EB 0D 32 F1 5C 0A B0 54 C9
|
||||
63 98 05 E1 6B C4 72 91 8E EA 95 27 8C 4B 0B 6B 30 6B 95 2D 08 DF 47 79 14 D8 40 20 A9 90 96 2D
|
||||
E1 E7 3D C6 74 F3 E0 6E B9 00 E4 0E CC EC 2A 00 9E 03 F9 2E 43 53 93 3B E7 B1 3D FE 0F E4 2C B5
|
||||
B8 3A B8 3B 5D 00 00 00 00 49 45 4E 44 AE 42 60 82 AC $EndBitmap
|
||||
EndData
|
||||
$EndBitmap
|
||||
Wire Wire Line
|
||||
5350 4600 5250 4600
|
||||
Wire Wire Line
|
||||
5350 4400 5250 4400
|
||||
$Comp
|
||||
L GND #PWR09
|
||||
U 1 1 550CF9FF
|
||||
P 5350 4700
|
||||
F 0 "#PWR09" H 5350 4700 30 0001 C CNN
|
||||
F 1 "GND" H 5350 4630 30 0001 C CNN
|
||||
F 2 "" H 5350 4700 60 0000 C CNN
|
||||
F 3 "" H 5350 4700 60 0000 C CNN
|
||||
1 5350 4700
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
5350 4400 5350 4700
|
||||
Connection ~ 5350 4600
|
||||
Text Notes 5050 4800 0 40 ~ 0
|
||||
chassis ground
|
||||
$Comp
|
||||
L GND #PWR010
|
||||
U 1 1 550CFBE5
|
||||
P 5350 6250
|
||||
F 0 "#PWR010" H 5350 6250 30 0001 C CNN
|
||||
F 1 "GND" H 5350 6180 30 0001 C CNN
|
||||
F 2 "" H 5350 6250 60 0000 C CNN
|
||||
F 3 "" H 5350 6250 60 0000 C CNN
|
||||
1 5350 6250
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Text Notes 5150 6400 0 40 ~ 0
|
||||
chassis ground
|
||||
$Comp
|
||||
L PWR_FLAG #FLG011
|
||||
U 1 1 550CFBF4
|
||||
P 5350 6150
|
||||
F 0 "#FLG011" H 5350 6245 30 0001 C CNN
|
||||
F 1 "PWR_FLAG" H 5350 6330 30 0000 C CNN
|
||||
F 2 "" H 5350 6150 60 0000 C CNN
|
||||
F 3 "" H 5350 6150 60 0000 C CNN
|
||||
1 5350 6150
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
5350 6150 5350 6250
|
||||
$Comp
|
||||
L CONN_1 P5
|
||||
U 1 1 550D1AD1
|
||||
P 5000 6150
|
||||
F 0 "P5" H 5080 6150 40 0000 L CNN
|
||||
F 1 "GND" H 5000 6205 30 0001 C CNN
|
||||
F 2 "mfk-AVA-20ga" H 5000 6150 60 0001 C CNN
|
||||
F 3 "" H 5000 6150 60 0000 C CNN
|
||||
1 5000 6150
|
||||
-1 0 0 1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
5150 6150 5350 6150
|
||||
$Comp
|
||||
L C C2
|
||||
U 1 1 550D2A54
|
||||
P 6900 5500
|
||||
F 0 "C2" H 6900 5600 40 0000 L CNN
|
||||
F 1 "1u" H 6906 5415 40 0000 L CNN
|
||||
F 2 "mfk-C_4.0_2.5_2.5_0.5" H 6938 5350 30 0001 C CNN
|
||||
F 3 "TDK FK18X5R1A105K" H 6900 5500 60 0001 C CNN
|
||||
1 6900 5500
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
6900 5150 6900 5300
|
||||
$Comp
|
||||
L DGND #PWR012
|
||||
U 1 1 550D2ACA
|
||||
P 6900 5800
|
||||
F 0 "#PWR012" H 6900 5800 40 0001 C CNN
|
||||
F 1 "DGND" H 6900 5730 40 0000 C CNN
|
||||
F 2 "" H 6900 5800 60 0000 C CNN
|
||||
F 3 "" H 6900 5800 60 0000 C CNN
|
||||
1 6900 5800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
6900 5800 6900 5700
|
||||
NoConn ~ 8300 4400
|
||||
NoConn ~ 8300 4850
|
||||
Connection ~ 8450 5000
|
||||
Wire Wire Line
|
||||
8450 3750 8450 4100
|
||||
Wire Wire Line
|
||||
7600 3650 7600 3750
|
||||
Connection ~ 7600 3750
|
||||
Wire Wire Line
|
||||
6900 4100 6750 4100
|
||||
Wire Wire Line
|
||||
6150 4150 6150 4400
|
||||
Connection ~ 8450 4100
|
||||
Wire Wire Line
|
||||
8300 5150 8450 5150
|
||||
Connection ~ 8450 5150
|
||||
Wire Wire Line
|
||||
6900 5000 6400 5000
|
||||
Wire Wire Line
|
||||
6400 5000 6400 6150
|
||||
$Comp
|
||||
L CONN_3 P3
|
||||
U 1 1 551F2247
|
||||
P 2750 1800
|
||||
F 0 "P3" V 2700 1800 50 0000 C CNN
|
||||
F 1 "PWR" V 2800 1800 40 0000 C CNN
|
||||
F 2 "mfk-TE_282834-3" H 2750 1800 60 0001 C CNN
|
||||
F 3 "" H 2750 1800 60 0000 C CNN
|
||||
1 2750 1800
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
3650 1800 3100 1800
|
||||
Wire Wire Line
|
||||
3100 1700 3350 1700
|
||||
Wire Wire Line
|
||||
3150 1250 3150 1700
|
||||
Text Label 3150 1250 3 60 ~ 0
|
||||
V_MOT
|
||||
Wire Wire Line
|
||||
6750 4100 6750 3750
|
||||
Wire Wire Line
|
||||
6750 5150 6750 6150
|
||||
Text Label 6750 6150 1 60 ~ 0
|
||||
V_MOT
|
||||
$Comp
|
||||
L PWR_FLAG #FLG013
|
||||
U 1 1 551F243F
|
||||
P 3350 1650
|
||||
F 0 "#FLG013" H 3350 1745 30 0001 C CNN
|
||||
F 1 "PWR_FLAG" H 3350 1830 30 0000 C CNN
|
||||
F 2 "" H 3350 1650 60 0000 C CNN
|
||||
F 3 "" H 3350 1650 60 0000 C CNN
|
||||
1 3350 1650
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Connection ~ 3150 1700
|
||||
Wire Wire Line
|
||||
3350 1700 3350 1650
|
||||
$Comp
|
||||
L JUMPER J1
|
||||
U 1 1 552023B1
|
||||
P 4750 1800
|
||||
F 0 "J1" H 4750 1950 60 0000 C CNN
|
||||
F 1 "PWR_BR" H 4750 1720 40 0000 C CNN
|
||||
F 2 "mfk-SIL-2" H 4750 1800 60 0001 C CNN
|
||||
F 3 "~" H 4750 1800 60 0000 C CNN
|
||||
1 4750 1800
|
||||
1 0 0 -1
|
||||
$EndComp
|
||||
$Comp
|
||||
L +5VD #PWR014
|
||||
U 1 1 552023F3
|
||||
P 4400 1450
|
||||
F 0 "#PWR014" H 4400 1400 20 0001 C CNN
|
||||
F 1 "+5VD" H 4400 1550 50 0000 C CNN
|
||||
F 2 "" H 4400 1450 60 0000 C CNN
|
||||
F 3 "" H 4400 1450 60 0000 C CNN
|
||||
1 4400 1450
|
||||
-1 0 0 -1
|
||||
$EndComp
|
||||
Wire Wire Line
|
||||
4450 1800 4400 1800
|
||||
Wire Wire Line
|
||||
4400 1800 4400 1450
|
||||
Text Label 5100 1350 3 60 ~ 0
|
||||
V_MOT
|
||||
Wire Wire Line
|
||||
5050 1800 5100 1800
|
||||
Wire Wire Line
|
||||
5100 1800 5100 1350
|
||||
Text Notes 4000 2000 0 60 ~ 0
|
||||
Use jumper to power motor from +5VD.
|
||||
$EndSCHEMATC
|
||||
928
samples/KiCad/nrf-bga.kicad_pcb
Normal file
928
samples/KiCad/nrf-bga.kicad_pcb
Normal file
@@ -0,0 +1,928 @@
|
||||
(kicad_pcb (version 4) (host pcbnew "(2014-08-05 BZR 5054)-product")
|
||||
|
||||
(general
|
||||
(links 36)
|
||||
(no_connects 0)
|
||||
(area 146.9984 92.8984 164.465656 112.3572)
|
||||
(thickness 1.6)
|
||||
(drawings 0)
|
||||
(tracks 108)
|
||||
(zones 0)
|
||||
(modules 12)
|
||||
(nets 54)
|
||||
)
|
||||
|
||||
(page A4)
|
||||
(layers
|
||||
(0 F.Cu signal)
|
||||
(31 B.Cu signal)
|
||||
(32 B.Adhes user)
|
||||
(33 F.Adhes user)
|
||||
(34 B.Paste user)
|
||||
(35 F.Paste user)
|
||||
(36 B.SilkS user)
|
||||
(37 F.SilkS user)
|
||||
(38 B.Mask user)
|
||||
(39 F.Mask user)
|
||||
(40 Dwgs.User user)
|
||||
(41 Cmts.User user)
|
||||
(42 Eco1.User user)
|
||||
(43 Eco2.User user)
|
||||
(44 Edge.Cuts user)
|
||||
(45 Margin user)
|
||||
(46 B.CrtYd user)
|
||||
(47 F.CrtYd user)
|
||||
(48 B.Fab user)
|
||||
(49 F.Fab user)
|
||||
)
|
||||
|
||||
(setup
|
||||
(last_trace_width 0.1016)
|
||||
(trace_clearance 0.1016)
|
||||
(zone_clearance 0.2032)
|
||||
(zone_45_only no)
|
||||
(trace_min 0.1016)
|
||||
(segment_width 0.2)
|
||||
(edge_width 0.1)
|
||||
(via_size 0.889)
|
||||
(via_drill 0.635)
|
||||
(via_min_size 0.889)
|
||||
(via_min_drill 0.508)
|
||||
(uvia_size 0.508)
|
||||
(uvia_drill 0.127)
|
||||
(uvias_allowed no)
|
||||
(uvia_min_size 0.508)
|
||||
(uvia_min_drill 0.127)
|
||||
(pcb_text_width 0.3)
|
||||
(pcb_text_size 1.5 1.5)
|
||||
(mod_edge_width 0.15)
|
||||
(mod_text_size 1 1)
|
||||
(mod_text_width 0.15)
|
||||
(pad_size 0.2 0.2)
|
||||
(pad_drill 0)
|
||||
(pad_to_mask_clearance 0)
|
||||
(aux_axis_origin 0 0)
|
||||
(visible_elements FFFCFF7F)
|
||||
(pcbplotparams
|
||||
(layerselection 0x00000_00000001)
|
||||
(usegerberextensions false)
|
||||
(excludeedgelayer true)
|
||||
(linewidth 0.100000)
|
||||
(plotframeref false)
|
||||
(viasonmask false)
|
||||
(mode 1)
|
||||
(useauxorigin false)
|
||||
(hpglpennumber 1)
|
||||
(hpglpenspeed 20)
|
||||
(hpglpendiameter 15)
|
||||
(hpglpenoverlay 2)
|
||||
(psnegative false)
|
||||
(psa4output false)
|
||||
(plotreference true)
|
||||
(plotvalue true)
|
||||
(plotinvisibletext false)
|
||||
(padsonsilk false)
|
||||
(subtractmaskfromsilk false)
|
||||
(outputformat 5)
|
||||
(mirror true)
|
||||
(drillshape 0)
|
||||
(scaleselection 1)
|
||||
(outputdirectory pdfs/))
|
||||
)
|
||||
|
||||
(net 0 "")
|
||||
(net 1 "Net-(C1-Pad1)")
|
||||
(net 2 GND)
|
||||
(net 3 "Net-(C2-Pad1)")
|
||||
(net 4 "Net-(C3-Pad1)")
|
||||
(net 5 "Net-(C4-Pad2)")
|
||||
(net 6 "Net-(D1-Pad1)")
|
||||
(net 7 +BATT)
|
||||
(net 8 SWDIO)
|
||||
(net 9 SWCLK)
|
||||
(net 10 LED)
|
||||
(net 11 "Net-(U1-PadC1)")
|
||||
(net 12 "Net-(U1-PadD1)")
|
||||
(net 13 "Net-(U1-PadG1)")
|
||||
(net 14 "Net-(U1-PadE2)")
|
||||
(net 15 "Net-(U1-PadF2)")
|
||||
(net 16 "Net-(U1-PadG2)")
|
||||
(net 17 "Net-(U1-PadE3)")
|
||||
(net 18 "Net-(U1-PadF3)")
|
||||
(net 19 "Net-(U1-PadG3)")
|
||||
(net 20 "Net-(U1-PadH4)")
|
||||
(net 21 "Net-(U1-PadA5)")
|
||||
(net 22 "Net-(U1-PadB5)")
|
||||
(net 23 "Net-(U1-PadC5)")
|
||||
(net 24 "Net-(U1-PadH5)")
|
||||
(net 25 "Net-(U1-PadA6)")
|
||||
(net 26 "Net-(U1-PadB6)")
|
||||
(net 27 "Net-(U1-PadC6)")
|
||||
(net 28 "Net-(U1-PadH6)")
|
||||
(net 29 "Net-(U1-PadA7)")
|
||||
(net 30 "Net-(U1-PadB7)")
|
||||
(net 31 "Net-(U1-PadC7)")
|
||||
(net 32 "Net-(U1-PadE7)")
|
||||
(net 33 "Net-(U1-PadF7)")
|
||||
(net 34 "Net-(U1-PadG7)")
|
||||
(net 35 "Net-(U1-PadH7)")
|
||||
(net 36 "Net-(U1-PadA8)")
|
||||
(net 37 "Net-(U1-PadD8)")
|
||||
(net 38 "Net-(U1-PadE8)")
|
||||
(net 39 "Net-(U1-PadF8)")
|
||||
(net 40 "Net-(U1-PadG8)")
|
||||
(net 41 "Net-(U1-PadH8)")
|
||||
(net 42 "Net-(U1-PadE9)")
|
||||
(net 43 "Net-(U1-PadF9)")
|
||||
(net 44 "Net-(U1-PadH1)")
|
||||
(net 45 "Net-(U1-PadJ3)")
|
||||
(net 46 "Net-(U1-PadJ4)")
|
||||
(net 47 "Net-(U1-PadJ5)")
|
||||
(net 48 "Net-(U1-PadJ6)")
|
||||
(net 49 "Net-(U1-PadJ7)")
|
||||
(net 50 "Net-(U1-PadJ8)")
|
||||
(net 51 "Net-(U1-PadH9)")
|
||||
(net 52 "Net-(C5-Pad1)")
|
||||
(net 53 "Net-(ANT1-Pad2)")
|
||||
|
||||
(net_class Default "This is the default net class."
|
||||
(clearance 0.1016)
|
||||
(trace_width 0.1016)
|
||||
(via_dia 0.889)
|
||||
(via_drill 0.635)
|
||||
(uvia_dia 0.508)
|
||||
(uvia_drill 0.127)
|
||||
(add_net +BATT)
|
||||
(add_net LED)
|
||||
(add_net "Net-(C1-Pad1)")
|
||||
(add_net "Net-(C2-Pad1)")
|
||||
(add_net "Net-(C3-Pad1)")
|
||||
(add_net "Net-(C4-Pad2)")
|
||||
(add_net "Net-(C5-Pad1)")
|
||||
(add_net "Net-(D1-Pad1)")
|
||||
(add_net "Net-(U1-PadA5)")
|
||||
(add_net "Net-(U1-PadA6)")
|
||||
(add_net "Net-(U1-PadA7)")
|
||||
(add_net "Net-(U1-PadA8)")
|
||||
(add_net "Net-(U1-PadB5)")
|
||||
(add_net "Net-(U1-PadB6)")
|
||||
(add_net "Net-(U1-PadB7)")
|
||||
(add_net "Net-(U1-PadC1)")
|
||||
(add_net "Net-(U1-PadC5)")
|
||||
(add_net "Net-(U1-PadC6)")
|
||||
(add_net "Net-(U1-PadC7)")
|
||||
(add_net "Net-(U1-PadD1)")
|
||||
(add_net "Net-(U1-PadD8)")
|
||||
(add_net "Net-(U1-PadE2)")
|
||||
(add_net "Net-(U1-PadE3)")
|
||||
(add_net "Net-(U1-PadE7)")
|
||||
(add_net "Net-(U1-PadE8)")
|
||||
(add_net "Net-(U1-PadE9)")
|
||||
(add_net "Net-(U1-PadF2)")
|
||||
(add_net "Net-(U1-PadF3)")
|
||||
(add_net "Net-(U1-PadF7)")
|
||||
(add_net "Net-(U1-PadF8)")
|
||||
(add_net "Net-(U1-PadF9)")
|
||||
(add_net "Net-(U1-PadG1)")
|
||||
(add_net "Net-(U1-PadG2)")
|
||||
(add_net "Net-(U1-PadG3)")
|
||||
(add_net "Net-(U1-PadG7)")
|
||||
(add_net "Net-(U1-PadG8)")
|
||||
(add_net "Net-(U1-PadH1)")
|
||||
(add_net "Net-(U1-PadH4)")
|
||||
(add_net "Net-(U1-PadH5)")
|
||||
(add_net "Net-(U1-PadH6)")
|
||||
(add_net "Net-(U1-PadH7)")
|
||||
(add_net "Net-(U1-PadH8)")
|
||||
(add_net "Net-(U1-PadH9)")
|
||||
(add_net "Net-(U1-PadJ3)")
|
||||
(add_net "Net-(U1-PadJ4)")
|
||||
(add_net "Net-(U1-PadJ5)")
|
||||
(add_net "Net-(U1-PadJ6)")
|
||||
(add_net "Net-(U1-PadJ7)")
|
||||
(add_net "Net-(U1-PadJ8)")
|
||||
(add_net SWCLK)
|
||||
(add_net SWDIO)
|
||||
)
|
||||
|
||||
(net_class ANT ""
|
||||
(clearance 0.1016)
|
||||
(trace_width 0.254)
|
||||
(via_dia 0.889)
|
||||
(via_drill 0.635)
|
||||
(uvia_dia 0.508)
|
||||
(uvia_drill 0.127)
|
||||
(add_net GND)
|
||||
(add_net "Net-(ANT1-Pad2)")
|
||||
)
|
||||
|
||||
(module Capacitors_SMD:C_0402 (layer F.Cu) (tedit 5415D599) (tstamp 54B59067)
|
||||
(at 153.75 102.5 270)
|
||||
(descr "Capacitor SMD 0402, reflow soldering, AVX (see smccp.pdf)")
|
||||
(tags "capacitor 0402")
|
||||
(path /54B59137)
|
||||
(attr smd)
|
||||
(fp_text reference C1 (at 0 -1.7 270) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 12p (at 0 1.7 270) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.15 -0.6) (end 1.15 -0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 -0.6) (end -1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.15 -0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 0.25 -0.475) (end -0.25 -0.475) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.25 0.475) (end 0.25 0.475) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.55 0 270) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 1 "Net-(C1-Pad1)"))
|
||||
(pad 2 smd rect (at 0.55 0 270) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(model Capacitors_SMD/C_0402.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module Capacitors_SMD:C_0402 (layer F.Cu) (tedit 5415D599) (tstamp 54B58E0D)
|
||||
(at 159.004 100.711)
|
||||
(descr "Capacitor SMD 0402, reflow soldering, AVX (see smccp.pdf)")
|
||||
(tags "capacitor 0402")
|
||||
(path /54B591B6)
|
||||
(attr smd)
|
||||
(fp_text reference C2 (at 0 -1.7) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 12p (at 0 1.7) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.15 -0.6) (end 1.15 -0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 -0.6) (end -1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.15 -0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 0.25 -0.475) (end -0.25 -0.475) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.25 0.475) (end 0.25 0.475) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.55 0) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 3 "Net-(C2-Pad1)"))
|
||||
(pad 2 smd rect (at 0.55 0) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(model Capacitors_SMD/C_0402.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module Capacitors_SMD:C_0402 (layer F.Cu) (tedit 5415D599) (tstamp 54B59E9D)
|
||||
(at 159.004 102.1588)
|
||||
(descr "Capacitor SMD 0402, reflow soldering, AVX (see smccp.pdf)")
|
||||
(tags "capacitor 0402")
|
||||
(path /54B58D67)
|
||||
(attr smd)
|
||||
(fp_text reference C3 (at 0 -1.7) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 100n (at 0 1.7) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.15 -0.6) (end 1.15 -0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 -0.6) (end -1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.15 -0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 0.25 -0.475) (end -0.25 -0.475) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.25 0.475) (end 0.25 0.475) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.55 0) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 4 "Net-(C3-Pad1)"))
|
||||
(pad 2 smd rect (at 0.55 0) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(model Capacitors_SMD/C_0402.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module Capacitors_SMD:C_0402 (layer F.Cu) (tedit 5415D599) (tstamp 54B58E25)
|
||||
(at 154.15 106.55 90)
|
||||
(descr "Capacitor SMD 0402, reflow soldering, AVX (see smccp.pdf)")
|
||||
(tags "capacitor 0402")
|
||||
(path /54B58DD5)
|
||||
(attr smd)
|
||||
(fp_text reference C4 (at 0 -1.7 90) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 100n (at 0 1.7 90) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.15 -0.6) (end 1.15 -0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 -0.6) (end -1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.15 -0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 0.25 -0.475) (end -0.25 -0.475) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.25 0.475) (end 0.25 0.475) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.55 0 90) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad 2 smd rect (at 0.55 0 90) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 5 "Net-(C4-Pad2)"))
|
||||
(model Capacitors_SMD/C_0402.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module SMD_Packages:SMD-0805 (layer F.Cu) (tedit 54B58D88) (tstamp 54B58E32)
|
||||
(at 162.0266 104.9782 90)
|
||||
(path /54B599BA)
|
||||
(attr smd)
|
||||
(fp_text reference D1 (at 0 -0.3175 90) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value LED (at 0 0.381 90) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_circle (center -1.651 0.762) (end -1.651 0.635) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.508 0.762) (end -1.524 0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.524 0.762) (end -1.524 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.524 -0.762) (end -0.508 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0.508 -0.762) (end 1.524 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.524 -0.762) (end 1.524 0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.524 0.762) (end 0.508 0.762) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.9525 0 90) (size 0.889 1.397) (layers F.Cu F.Paste F.Mask)
|
||||
(net 6 "Net-(D1-Pad1)"))
|
||||
(pad 2 smd rect (at 0.9525 0 90) (size 0.889 1.397) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(model SMD_Packages/SMD-0805.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 0.1000000014901161 0.1000000014901161 0.1000000014901161))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module Pin_Headers:Pin_Header_Straight_1x04 (layer F.Cu) (tedit 54B58D8A) (tstamp 54B58E41)
|
||||
(at 156.7942 109.1946 180)
|
||||
(descr "Through hole pin header")
|
||||
(tags "pin header")
|
||||
(path /54B593BB)
|
||||
(fp_text reference P1 (at 0 -2.286 180) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value CONN_01X04 (at 0 0 180) (layer F.SilkS) hide
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -2.54 1.27) (end 5.08 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.54 -1.27) (end 5.08 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.08 -1.27) (end -2.54 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 5.08 1.27) (end 5.08 -1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.54 -1.27) (end -2.54 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.08 -1.27) (end -5.08 1.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.08 1.27) (end -2.54 1.27) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at -3.81 0 180) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
|
||||
(net 2 GND))
|
||||
(pad 2 thru_hole oval (at -1.27 0 180) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
|
||||
(net 7 +BATT))
|
||||
(pad 3 thru_hole oval (at 1.27 0 180) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
|
||||
(net 8 SWDIO))
|
||||
(pad 4 thru_hole oval (at 3.81 0 180) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
|
||||
(net 9 SWCLK))
|
||||
(model Pin_Headers/Pin_Header_Straight_1x04.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module Resistors_SMD:R_0603 (layer F.Cu) (tedit 5415CC62) (tstamp 54B59E20)
|
||||
(at 160.0454 105.0544 270)
|
||||
(descr "Resistor SMD 0603, reflow soldering, Vishay (see dcrcw.pdf)")
|
||||
(tags "resistor 0603")
|
||||
(path /54B59A45)
|
||||
(attr smd)
|
||||
(fp_text reference R1 (at 0 -1.9 270) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value R (at 0 1.9 270) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.3 -0.8) (end 1.3 -0.8) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.3 0.8) (end 1.3 0.8) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.3 -0.8) (end -1.3 0.8) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.3 -0.8) (end 1.3 0.8) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 0.5 0.675) (end -0.5 0.675) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.5 -0.675) (end 0.5 -0.675) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.75 0 270) (size 0.5 0.9) (layers F.Cu F.Paste F.Mask)
|
||||
(net 10 LED))
|
||||
(pad 2 smd rect (at 0.75 0 270) (size 0.5 0.9) (layers F.Cu F.Paste F.Mask)
|
||||
(net 6 "Net-(D1-Pad1)"))
|
||||
(model Resistors_SMD/R_0603.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module Crystals_Oscillators_SMD:CX2520DB (layer F.Cu) (tedit 544FEDED) (tstamp 54B58E9A)
|
||||
(at 156.1084 101.3714)
|
||||
(path /54B5903E)
|
||||
(fp_text reference X1 (at 0 -2.25) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value CRYSTAL (at 0 2.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.25 1) (end 1.25 1) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.25 1) (end 1.25 -1) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.25 -1) (end -1.25 -1) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.25 -1) (end -1.25 1) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.9 0.65) (size 1.2 1) (layers F.Cu F.Paste F.Mask)
|
||||
(net 1 "Net-(C1-Pad1)"))
|
||||
(pad 2 smd rect (at 0.9 -0.65) (size 1.2 1) (layers F.Cu F.Paste F.Mask)
|
||||
(net 3 "Net-(C2-Pad1)"))
|
||||
(pad 3 smd rect (at 0.9 0.65) (size 1.2 1) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 4 smd rect (at -0.9 -0.65) (size 1.2 1) (layers F.Cu F.Paste F.Mask))
|
||||
)
|
||||
|
||||
(module NRF51:WLCSP62 (layer F.Cu) (tedit 54B59368) (tstamp 54B59DAD)
|
||||
(at 156.9212 105.1306)
|
||||
(path /54B58C30)
|
||||
(fp_text reference U1 (at 0 3.2) (layer F.SilkS)
|
||||
(effects (font (size 1.2 1.2) (thickness 0.2)))
|
||||
)
|
||||
(fp_text value nRF51x22-CEAA (at 0 -3.2) (layer F.SilkS)
|
||||
(effects (font (size 1.2 1.2) (thickness 0.2)))
|
||||
)
|
||||
(fp_line (start -1.6 -2) (end -2 -1.6) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start -2 -1.6) (end -2 2) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start -2 2) (end 2 2) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start 2 2) (end 2 -2) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start 2 -2) (end -1.6 -2) (layer F.SilkS) (width 0.2))
|
||||
(pad A1 smd circle (at -1.6 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 7 +BATT))
|
||||
(pad B1 smd circle (at -1.6 -1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad C1 smd circle (at -1.6 -0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 11 "Net-(U1-PadC1)"))
|
||||
(pad D1 smd circle (at -1.6 -0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 12 "Net-(U1-PadD1)"))
|
||||
(pad E1 smd circle (at -1.6 0) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 52 "Net-(C5-Pad1)"))
|
||||
(pad F1 smd circle (at -1.6 0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 5 "Net-(C4-Pad2)"))
|
||||
(pad G1 smd circle (at -1.6 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 13 "Net-(U1-PadG1)"))
|
||||
(pad H1 smd circle (at -1.6 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 44 "Net-(U1-PadH1)"))
|
||||
(pad A2 smd circle (at -1.2 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 1 "Net-(C1-Pad1)"))
|
||||
(pad E2 smd circle (at -1.2 0) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 14 "Net-(U1-PadE2)"))
|
||||
(pad F2 smd circle (at -1.2 0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 15 "Net-(U1-PadF2)"))
|
||||
(pad G2 smd circle (at -1.2 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 16 "Net-(U1-PadG2)"))
|
||||
(pad H2 smd circle (at -1.2 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 9 SWCLK))
|
||||
(pad J2 smd circle (at -1.2 1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 8 SWDIO))
|
||||
(pad A3 smd circle (at -0.8 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 3 "Net-(C2-Pad1)"))
|
||||
(pad E3 smd circle (at -0.8 0) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 17 "Net-(U1-PadE3)"))
|
||||
(pad F3 smd circle (at -0.8 0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 18 "Net-(U1-PadF3)"))
|
||||
(pad G3 smd circle (at -0.8 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 19 "Net-(U1-PadG3)"))
|
||||
(pad H3 smd circle (at -0.8 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad J3 smd circle (at -0.8 1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 45 "Net-(U1-PadJ3)"))
|
||||
(pad A4 smd circle (at -0.4 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 4 "Net-(C3-Pad1)"))
|
||||
(pad B4 smd circle (at -0.4 -1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad G4 smd circle (at -0.4 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad H4 smd circle (at -0.4 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 20 "Net-(U1-PadH4)"))
|
||||
(pad J4 smd circle (at -0.4 1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 46 "Net-(U1-PadJ4)"))
|
||||
(pad A5 smd circle (at 0 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 21 "Net-(U1-PadA5)"))
|
||||
(pad B5 smd circle (at 0 -1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 22 "Net-(U1-PadB5)"))
|
||||
(pad C5 smd circle (at 0 -0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 23 "Net-(U1-PadC5)"))
|
||||
(pad G5 smd circle (at 0 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad H5 smd circle (at 0 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 24 "Net-(U1-PadH5)"))
|
||||
(pad J5 smd circle (at 0 1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 47 "Net-(U1-PadJ5)"))
|
||||
(pad A6 smd circle (at 0.4 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 25 "Net-(U1-PadA6)"))
|
||||
(pad B6 smd circle (at 0.4 -1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 26 "Net-(U1-PadB6)"))
|
||||
(pad C6 smd circle (at 0.4 -0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 27 "Net-(U1-PadC6)"))
|
||||
(pad G6 smd circle (at 0.4 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad H6 smd circle (at 0.4 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 28 "Net-(U1-PadH6)"))
|
||||
(pad J6 smd circle (at 0.4 1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 48 "Net-(U1-PadJ6)"))
|
||||
(pad A7 smd circle (at 0.8 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 29 "Net-(U1-PadA7)"))
|
||||
(pad B7 smd circle (at 0.8 -1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 30 "Net-(U1-PadB7)"))
|
||||
(pad C7 smd circle (at 0.8 -0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 31 "Net-(U1-PadC7)"))
|
||||
(pad D7 smd circle (at 0.8 -0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad E7 smd circle (at 0.8 0) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 32 "Net-(U1-PadE7)"))
|
||||
(pad F7 smd circle (at 0.8 0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 33 "Net-(U1-PadF7)"))
|
||||
(pad G7 smd circle (at 0.8 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 34 "Net-(U1-PadG7)"))
|
||||
(pad H7 smd circle (at 0.8 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 35 "Net-(U1-PadH7)"))
|
||||
(pad J7 smd circle (at 0.8 1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 49 "Net-(U1-PadJ7)"))
|
||||
(pad A8 smd circle (at 1.2 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 36 "Net-(U1-PadA8)"))
|
||||
(pad B8 smd circle (at 1.2 -1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 7 +BATT))
|
||||
(pad C8 smd circle (at 1.2 -0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad D8 smd circle (at 1.2 -0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 37 "Net-(U1-PadD8)"))
|
||||
(pad E8 smd circle (at 1.2 0) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 38 "Net-(U1-PadE8)"))
|
||||
(pad F8 smd circle (at 1.2 0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 39 "Net-(U1-PadF8)"))
|
||||
(pad G8 smd circle (at 1.2 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 40 "Net-(U1-PadG8)"))
|
||||
(pad H8 smd circle (at 1.2 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 41 "Net-(U1-PadH8)"))
|
||||
(pad J8 smd circle (at 1.2 1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 50 "Net-(U1-PadJ8)"))
|
||||
(pad A9 smd circle (at 1.6 -1.6) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask))
|
||||
(pad B9 smd circle (at 1.6 -1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 7 +BATT))
|
||||
(pad C9 smd circle (at 1.6 -0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad D9 smd circle (at 1.6 -0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 10 LED))
|
||||
(pad E9 smd circle (at 1.6 0) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 42 "Net-(U1-PadE9)"))
|
||||
(pad F9 smd circle (at 1.6 0.4) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 43 "Net-(U1-PadF9)"))
|
||||
(pad G9 smd circle (at 1.6 0.8) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(pad H9 smd circle (at 1.6 1.2) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 51 "Net-(U1-PadH9)"))
|
||||
)
|
||||
|
||||
(module Capacitors_SMD:C_0402 (layer F.Cu) (tedit 5415D599) (tstamp 55048D3E)
|
||||
(at 153 106.55 270)
|
||||
(descr "Capacitor SMD 0402, reflow soldering, AVX (see smccp.pdf)")
|
||||
(tags "capacitor 0402")
|
||||
(path /550483E1)
|
||||
(attr smd)
|
||||
(fp_text reference C5 (at 0 -1.7 270) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 2n2 (at 0 1.7 270) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -1.15 -0.6) (end 1.15 -0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.15 -0.6) (end -1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.15 -0.6) (end 1.15 0.6) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 0.25 -0.475) (end -0.25 -0.475) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.25 0.475) (end 0.25 0.475) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -0.55 0 270) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 52 "Net-(C5-Pad1)"))
|
||||
(pad 2 smd rect (at 0.55 0 270) (size 0.6 0.5) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
(model Capacitors_SMD.3dshapes/C_0402.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
|
||||
(module ANT:ANT-2.4GHz (layer F.Cu) (tedit 54517711) (tstamp 55049531)
|
||||
(at 149.35 106.95 90)
|
||||
(path /55047C3D)
|
||||
(fp_text reference ANT1 (at -2.5 1.5 90) (layer F.SilkS)
|
||||
(effects (font (size 0.4 0.4) (thickness 0.04)))
|
||||
)
|
||||
(fp_text value ANT-2.4GHz (at -2 2 90) (layer F.SilkS)
|
||||
(effects (font (size 0.4 0.4) (thickness 0.04)))
|
||||
)
|
||||
(pad 1 smd rect (at 0 0 90) (size 0.9 4.9) (layers F.Cu)
|
||||
(net 2 GND))
|
||||
(pad 3 smd rect (at 2.05 -2.7 90) (size 5 0.5) (layers F.Cu))
|
||||
(pad 2 smd rect (at 2.1 0 90) (size 0.5 4.9) (layers F.Cu)
|
||||
(net 53 "Net-(ANT1-Pad2)"))
|
||||
(pad 3 smd rect (at 4.3 -1.13 90) (size 0.5 2.64) (layers F.Cu))
|
||||
(pad 3 smd rect (at 6.8 -1.13 90) (size 0.5 2.64) (layers F.Cu))
|
||||
(pad 3 smd rect (at 5.55 -0.06 90) (size 2 0.5) (layers F.Cu))
|
||||
(pad 3 smd rect (at 7.9 -2.7 90) (size 2.7 0.5) (layers F.Cu))
|
||||
(pad 3 smd rect (at 12.6 -2.7 90) (size 2.7 0.5) (layers F.Cu))
|
||||
(pad 3 smd rect (at 9 -1.13 90) (size 0.5 2.64) (layers F.Cu))
|
||||
(pad 3 smd rect (at 11.5 -1.13 90) (size 0.5 2.64) (layers F.Cu))
|
||||
(pad 3 smd rect (at 10.25 -0.06 90) (size 2 0.5) (layers F.Cu))
|
||||
(pad 3 smd rect (at 13.7 -0.48 90) (size 0.5 3.94) (layers F.Cu))
|
||||
)
|
||||
|
||||
(module NRF51:BAL-NRF02D3 (layer F.Cu) (tedit 550C7CF1) (tstamp 55048D47)
|
||||
(at 153.65 104.55 180)
|
||||
(path /550480A2)
|
||||
(fp_text reference U2 (at 0 1.95 180) (layer F.SilkS)
|
||||
(effects (font (size 1.2 1.2) (thickness 0.2)))
|
||||
)
|
||||
(fp_text value BAL-NRF02D3 (at 0 -1.95 180) (layer F.SilkS)
|
||||
(effects (font (size 1.2 1.2) (thickness 0.2)))
|
||||
)
|
||||
(fp_circle (center 0.75 -1.25) (end 1 -1.25) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1 -0.75) (end -1 0.75) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start -1 0.75) (end 1 0.75) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start 1 0.75) (end 1 -0.75) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start 1 -0.75) (end -1 -0.75) (layer F.SilkS) (width 0.2))
|
||||
(pad A3 smd circle (at -0.5 -0.25 180) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 12 "Net-(U1-PadD1)"))
|
||||
(pad B3 smd circle (at -0.5 0.25 180) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 11 "Net-(U1-PadC1)"))
|
||||
(pad A2 smd circle (at 0 -0.25 180) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 52 "Net-(C5-Pad1)"))
|
||||
(pad A1 smd circle (at 0.5 -0.25 180) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 53 "Net-(ANT1-Pad2)"))
|
||||
(pad B1 smd circle (at 0.5 0.25 180) (size 0.2 0.2) (layers F.Cu F.Paste F.Mask)
|
||||
(net 2 GND))
|
||||
)
|
||||
|
||||
(segment (start 155.7212 102.5342) (end 155.2084 102.0214) (width 0.1016) (layer F.Cu) (net 1))
|
||||
(segment (start 155.7212 103.5306) (end 155.7212 102.5342) (width 0.1016) (layer F.Cu) (net 1))
|
||||
(segment (start 155.137 101.95) (end 155.2084 102.0214) (width 0.1016) (layer F.Cu) (net 1) (tstamp 55048FFD))
|
||||
(segment (start 153.75 101.95) (end 155.137 101.95) (width 0.1016) (layer F.Cu) (net 1))
|
||||
(segment (start 156.947646 104.7306) (end 156.7306 104.7306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.7306 104.7306) (end 156.5212 104.5212) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.5212 104.5212) (end 156.5212 104.072021) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.5212 104.072021) (end 156.5212 103.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.1212 106.3306) (end 156.5212 105.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.5212 105.9306) (end 156.9212 105.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 157.3212 105.9306) (end 156.9212 105.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 157.7212 104.7306) (end 156.947646 104.7306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.5212 103.9306) (end 155.3212 103.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.9212 104.757046) (end 156.9212 105.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 156.947646 104.7306) (end 156.9212 104.757046) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 157.7212 104.7306) (end 158.1212 104.3306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 158.1212 104.3306) (end 158.5212 104.3306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 161.2265 103.4796) (end 161.7726 104.0257) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 159.3722 103.4796) (end 161.2265 103.4796) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 161.7726 104.0257) (end 162.0266 104.0257) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 159.554 101.0626) (end 159.554 102.1588) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 159.554 100.711) (end 159.554 101.0626) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 159.3722 102.6922) (end 159.3722 103.4796) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 159.554 102.5104) (end 159.3722 102.6922) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 159.554 102.1588) (end 159.554 102.5104) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 159.3722 103.621021) (end 159.3722 103.4796) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 158.5212 104.3306) (end 158.662621 104.3306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 158.662621 104.3306) (end 159.3722 103.621021) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 155.0306 103.9306) (end 154.15 103.05) (width 0.1016) (layer F.Cu) (net 2) (tstamp 55048FDD))
|
||||
(segment (start 154.15 103.05) (end 153.75 103.05) (width 0.1016) (layer F.Cu) (net 2) (tstamp 55048FEF))
|
||||
(segment (start 155.3212 103.9306) (end 155.0306 103.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 154.15 107.1) (end 153 107.1) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 160.6042 108.3542) (end 160.6042 109.1946) (width 0.1016) (layer F.Cu) (net 2) (tstamp 5504935E))
|
||||
(segment (start 158.5212 105.9306) (end 159.05 105.9306) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 160.85 105.05) (end 159.4 105.05) (width 0.1016) (layer F.Cu) (net 2) (tstamp 55049373))
|
||||
(segment (start 159.4 105.05) (end 159.05 105.4) (width 0.1016) (layer F.Cu) (net 2) (tstamp 55049377))
|
||||
(segment (start 159.05 105.4) (end 159.05 105.9306) (width 0.1016) (layer F.Cu) (net 2) (tstamp 55049378))
|
||||
(segment (start 161.8743 104.0257) (end 160.85 105.05) (width 0.1016) (layer F.Cu) (net 2) (tstamp 55049366))
|
||||
(segment (start 162.0266 104.0257) (end 161.8743 104.0257) (width 0.1016) (layer F.Cu) (net 2))
|
||||
(segment (start 149.5 107.1) (end 149.35 106.95) (width 0.1016) (layer F.Cu) (net 2) (tstamp 5504964A) (status 30))
|
||||
(segment (start 149.5 107.1) (end 149.35 106.95) (width 0.254) (layer F.Cu) (net 2) (tstamp 5504967F) (status 30))
|
||||
(segment (start 153 107.1) (end 149.5 107.1) (width 0.254) (layer F.Cu) (net 2) (status 20))
|
||||
(segment (start 158.4436 100.7214) (end 158.454 100.711) (width 0.1016) (layer F.Cu) (net 3))
|
||||
(segment (start 157.0084 100.7214) (end 158.4436 100.7214) (width 0.1016) (layer F.Cu) (net 3))
|
||||
(segment (start 156.6786 100.7214) (end 157.0084 100.7214) (width 0.1016) (layer F.Cu) (net 3))
|
||||
(segment (start 156.1084 101.2916) (end 156.6786 100.7214) (width 0.1016) (layer F.Cu) (net 3))
|
||||
(segment (start 156.1084 103.5178) (end 156.1084 101.2916) (width 0.1016) (layer F.Cu) (net 3))
|
||||
(segment (start 156.1212 103.5306) (end 156.1084 103.5178) (width 0.1016) (layer F.Cu) (net 3))
|
||||
(segment (start 156.5212 103.389179) (end 157.014979 102.8954) (width 0.1016) (layer F.Cu) (net 4))
|
||||
(segment (start 156.5212 103.5306) (end 156.5212 103.389179) (width 0.1016) (layer F.Cu) (net 4))
|
||||
(segment (start 157.6674 102.8954) (end 158.404 102.1588) (width 0.1016) (layer F.Cu) (net 4))
|
||||
(segment (start 158.404 102.1588) (end 158.454 102.1588) (width 0.1016) (layer F.Cu) (net 4))
|
||||
(segment (start 157.014979 102.8954) (end 157.6674 102.8954) (width 0.1016) (layer F.Cu) (net 4))
|
||||
(segment (start 154.45 106) (end 154.9194 105.5306) (width 0.1016) (layer F.Cu) (net 5) (tstamp 5504901F))
|
||||
(segment (start 154.9194 105.5306) (end 155.3212 105.5306) (width 0.1016) (layer F.Cu) (net 5) (tstamp 55049021))
|
||||
(segment (start 154.15 106) (end 154.45 106) (width 0.1016) (layer F.Cu) (net 5))
|
||||
(segment (start 160.1717 105.9307) (end 160.0454 105.8044) (width 0.1016) (layer F.Cu) (net 6))
|
||||
(segment (start 162.0266 105.9307) (end 160.1717 105.9307) (width 0.1016) (layer F.Cu) (net 6))
|
||||
(segment (start 159 99.9) (end 159.05 99.9) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 159.35 99.6) (end 161.2 99.6) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 158.25 111.15) (end 158.0642 110.9642) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 159.05 99.9) (end 159.35 99.6) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 161.2 99.6) (end 163.35 101.75) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 163.35 101.75) (end 163.35 110.35) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 163.35 110.35) (end 162.55 111.15) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 158.0642 110.9642) (end 158.0642 109.1946) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 162.55 111.15) (end 158.25 111.15) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 158.5212 103.9306) (end 158.1212 103.9306) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 158.0642 109.347) (end 158.0642 109.1946) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 159 99.9) (end 159 103.593221) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 158.662621 103.9306) (end 158.5212 103.9306) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 154.1 99.6) (end 158.7 99.6) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 153 102.3) (end 153 100.7) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 153.2 102.5) (end 153 102.3) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 158.7 99.6) (end 159 99.9) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 154.2906 102.5) (end 153.2 102.5) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 159 103.593221) (end 158.662621 103.9306) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 153 100.7) (end 154.1 99.6) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 155.3212 103.5306) (end 154.2906 102.5) (width 0.1016) (layer F.Cu) (net 7))
|
||||
(segment (start 155.7212 108.9976) (end 155.5242 109.1946) (width 0.1016) (layer F.Cu) (net 8))
|
||||
(segment (start 155.7212 106.7306) (end 155.7212 108.9976) (width 0.1016) (layer F.Cu) (net 8))
|
||||
(segment (start 152.9842 109.0676) (end 152.9842 109.1946) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 152.9842 109.1946) (end 152.9842 109.0422) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 155.2018 106.85) (end 155.7212 106.3306) (width 0.1016) (layer F.Cu) (net 9) (tstamp 55049280))
|
||||
(segment (start 155.1 106.95) (end 155.2 106.85) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 155.1 107.35) (end 155.1 106.95) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 154.55 107.9) (end 155.1 107.35) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 154.1264 107.9) (end 154.55 107.9) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 152.9842 109.0422) (end 154.1264 107.9) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 155.2 106.85) (end 155.2018 106.85) (width 0.1016) (layer F.Cu) (net 9))
|
||||
(segment (start 160.0454 104.3044) (end 159.4938 104.3044) (width 0.1016) (layer F.Cu) (net 10))
|
||||
(segment (start 158.662621 104.7306) (end 158.5212 104.7306) (width 0.1016) (layer F.Cu) (net 10))
|
||||
(segment (start 159.0676 104.7306) (end 158.662621 104.7306) (width 0.1016) (layer F.Cu) (net 10))
|
||||
(segment (start 159.4938 104.3044) (end 159.0676 104.7306) (width 0.1016) (layer F.Cu) (net 10))
|
||||
(segment (start 154.1806 104.3306) (end 154.15 104.3) (width 0.1016) (layer F.Cu) (net 11) (tstamp 5504938B))
|
||||
(segment (start 155.3212 104.3306) (end 154.1806 104.3306) (width 0.1016) (layer F.Cu) (net 11))
|
||||
(segment (start 154.2194 104.7306) (end 154.15 104.8) (width 0.1016) (layer F.Cu) (net 12) (tstamp 55049388))
|
||||
(segment (start 155.3212 104.7306) (end 154.2194 104.7306) (width 0.1016) (layer F.Cu) (net 12))
|
||||
(segment (start 155.3212 105.1306) (end 154.7194 105.1306) (width 0.1016) (layer F.Cu) (net 52))
|
||||
(segment (start 154.7194 105.1306) (end 154.6 105.25) (width 0.1016) (layer F.Cu) (net 52))
|
||||
(segment (start 154.6 105.25) (end 153.65 105.25) (width 0.1016) (layer F.Cu) (net 52))
|
||||
(segment (start 153.65 105.25) (end 153.65 104.8) (width 0.1016) (layer F.Cu) (net 52) (tstamp 5504901A))
|
||||
(segment (start 153.6 105.3) (end 153.65 105.25) (width 0.1016) (layer F.Cu) (net 52) (tstamp 55049386))
|
||||
(segment (start 153 105.9) (end 153.6 105.3) (width 0.1016) (layer F.Cu) (net 52) (tstamp 55049018))
|
||||
(segment (start 153 106) (end 153 105.9) (width 0.1016) (layer F.Cu) (net 52))
|
||||
(segment (start 149.4 104.8) (end 149.35 104.85) (width 0.1016) (layer F.Cu) (net 53) (tstamp 55049543) (status 30))
|
||||
(segment (start 153.1 104.85) (end 153.15 104.8) (width 0.254) (layer F.Cu) (net 53) (tstamp 550495A4))
|
||||
(segment (start 149.35 104.85) (end 153.1 104.85) (width 0.254) (layer F.Cu) (net 53) (status 10))
|
||||
|
||||
(zone (net 2) (net_name GND) (layer F.Cu) (tstamp 550C7F83) (hatch edge 0.508)
|
||||
(connect_pads (clearance 0.2032))
|
||||
(min_thickness 0.1524)
|
||||
(fill yes (arc_segments 16) (thermal_gap 0.2032) (thermal_bridge_width 0.15494) (smoothing chamfer) (radius 0.5))
|
||||
(polygon
|
||||
(pts
|
||||
(xy 164 111.85) (xy 151.5 111.85) (xy 151.5 97.15) (xy 164 97.15)
|
||||
)
|
||||
)
|
||||
(filled_polygon
|
||||
(pts
|
||||
(xy 163.9238 111.318437) (xy 163.468437 111.7738) (xy 152.031563 111.7738) (xy 151.5762 111.318437) (xy 151.5762 107.6794)
|
||||
(xy 151.744424 107.6794) (xy 151.855576 107.6794) (xy 151.958267 107.636864) (xy 152.036864 107.558267) (xy 152.0794 107.455576)
|
||||
(xy 152.0794 107.02112) (xy 152.00955 106.95127) (xy 151.5762 106.95127) (xy 151.5762 106.94873) (xy 152.00955 106.94873)
|
||||
(xy 152.0794 106.87888) (xy 152.0794 106.444424) (xy 152.036864 106.341733) (xy 151.958267 106.263136) (xy 151.855576 106.2206)
|
||||
(xy 151.744424 106.2206) (xy 151.5762 106.2206) (xy 151.5762 105.3794) (xy 151.855576 105.3794) (xy 151.958267 105.336864)
|
||||
(xy 152.036864 105.258267) (xy 152.037637 105.2564) (xy 153.1 105.2564) (xy 153.195652 105.237373) (xy 153.012426 105.4206)
|
||||
(xy 152.694424 105.4206) (xy 152.591733 105.463136) (xy 152.513136 105.541733) (xy 152.4706 105.644424) (xy 152.4706 105.755576)
|
||||
(xy 152.4706 106.355576) (xy 152.513136 106.458267) (xy 152.591733 106.536864) (xy 152.623446 106.55) (xy 152.591733 106.563136)
|
||||
(xy 152.513136 106.641733) (xy 152.4706 106.744424) (xy 152.4706 107.02888) (xy 152.54045 107.09873) (xy 152.99873 107.09873)
|
||||
(xy 152.99873 107.07873) (xy 153.00127 107.07873) (xy 153.00127 107.09873) (xy 153.45955 107.09873) (xy 153.5294 107.02888)
|
||||
(xy 153.5294 106.744424) (xy 153.486864 106.641733) (xy 153.408267 106.563136) (xy 153.376553 106.55) (xy 153.408267 106.536864)
|
||||
(xy 153.486864 106.458267) (xy 153.5294 106.355576) (xy 153.5294 106.244424) (xy 153.5294 105.837574) (xy 153.6206 105.746374)
|
||||
(xy 153.6206 105.755576) (xy 153.6206 106.355576) (xy 153.663136 106.458267) (xy 153.741733 106.536864) (xy 153.773446 106.55)
|
||||
(xy 153.741733 106.563136) (xy 153.663136 106.641733) (xy 153.6206 106.744424) (xy 153.6206 107.02888) (xy 153.69045 107.09873)
|
||||
(xy 154.14873 107.09873) (xy 154.14873 107.07873) (xy 154.15127 107.07873) (xy 154.15127 107.09873) (xy 154.60955 107.09873)
|
||||
(xy 154.6794 107.02888) (xy 154.6794 106.744424) (xy 154.636864 106.641733) (xy 154.558267 106.563136) (xy 154.526553 106.55)
|
||||
(xy 154.558267 106.536864) (xy 154.636864 106.458267) (xy 154.6794 106.355576) (xy 154.6794 106.244424) (xy 154.6794 106.236217)
|
||||
(xy 154.683487 106.233487) (xy 154.7968 106.120174) (xy 154.7968 106.634168) (xy 154.872829 106.710197) (xy 154.866513 106.716513)
|
||||
(xy 154.794935 106.823638) (xy 154.7698 106.95) (xy 154.7698 107.213226) (xy 154.6794 107.303626) (xy 154.6794 107.17112)
|
||||
(xy 154.60955 107.10127) (xy 154.15127 107.10127) (xy 154.15127 107.12127) (xy 154.14873 107.12127) (xy 154.14873 107.10127)
|
||||
(xy 153.69045 107.10127) (xy 153.6206 107.17112) (xy 153.6206 107.455576) (xy 153.663136 107.558267) (xy 153.741733 107.636864)
|
||||
(xy 153.844424 107.6794) (xy 153.880026 107.6794) (xy 153.5294 108.030025) (xy 153.5294 107.455576) (xy 153.5294 107.17112)
|
||||
(xy 153.45955 107.10127) (xy 153.00127 107.10127) (xy 153.00127 107.60955) (xy 153.07112 107.6794) (xy 153.194424 107.6794)
|
||||
(xy 153.305576 107.6794) (xy 153.408267 107.636864) (xy 153.486864 107.558267) (xy 153.5294 107.455576) (xy 153.5294 108.030025)
|
||||
(xy 153.527705 108.03172) (xy 153.421607 107.960828) (xy 152.99873 107.876712) (xy 152.99873 107.60955) (xy 152.99873 107.10127)
|
||||
(xy 152.54045 107.10127) (xy 152.4706 107.17112) (xy 152.4706 107.455576) (xy 152.513136 107.558267) (xy 152.591733 107.636864)
|
||||
(xy 152.694424 107.6794) (xy 152.805576 107.6794) (xy 152.92888 107.6794) (xy 152.99873 107.60955) (xy 152.99873 107.876712)
|
||||
(xy 152.9842 107.873822) (xy 152.546793 107.960828) (xy 152.175977 108.208599) (xy 151.928206 108.579415) (xy 151.8412 109.016822)
|
||||
(xy 151.8412 109.372378) (xy 151.928206 109.809785) (xy 152.175977 110.180601) (xy 152.546793 110.428372) (xy 152.9842 110.515378)
|
||||
(xy 153.421607 110.428372) (xy 153.792423 110.180601) (xy 154.040194 109.809785) (xy 154.1272 109.372378) (xy 154.1272 109.016822)
|
||||
(xy 154.040194 108.579415) (xy 153.989631 108.503742) (xy 154.263173 108.2302) (xy 154.55 108.2302) (xy 154.676362 108.205065)
|
||||
(xy 154.783487 108.133487) (xy 155.333483 107.583489) (xy 155.333486 107.583487) (xy 155.333487 107.583487) (xy 155.391 107.497411)
|
||||
(xy 155.391 107.900317) (xy 155.086793 107.960828) (xy 154.715977 108.208599) (xy 154.468206 108.579415) (xy 154.3812 109.016822)
|
||||
(xy 154.3812 109.372378) (xy 154.468206 109.809785) (xy 154.715977 110.180601) (xy 155.086793 110.428372) (xy 155.5242 110.515378)
|
||||
(xy 155.961607 110.428372) (xy 156.332423 110.180601) (xy 156.580194 109.809785) (xy 156.6672 109.372378) (xy 156.6672 109.016822)
|
||||
(xy 156.580194 108.579415) (xy 156.332423 108.208599) (xy 156.0514 108.020825) (xy 156.0514 107.2532) (xy 158.434168 107.2532)
|
||||
(xy 159.0532 106.634168) (xy 159.0532 105.0608) (xy 159.0676 105.0608) (xy 159.193962 105.035665) (xy 159.301087 104.964087)
|
||||
(xy 159.463138 104.802035) (xy 159.539824 104.8338) (xy 159.650976 104.8338) (xy 160.550976 104.8338) (xy 160.653667 104.791264)
|
||||
(xy 160.732264 104.712667) (xy 160.7748 104.609976) (xy 160.7748 104.498824) (xy 160.7748 103.998824) (xy 160.732264 103.896133)
|
||||
(xy 160.653667 103.817536) (xy 160.550976 103.775) (xy 160.439824 103.775) (xy 160.1334 103.775) (xy 160.1334 102.464376)
|
||||
(xy 160.1334 102.353224) (xy 160.1334 102.22992) (xy 160.1334 102.08768) (xy 160.1334 101.964376) (xy 160.1334 101.853224)
|
||||
(xy 160.1334 101.016576) (xy 160.1334 100.905424) (xy 160.1334 100.78212) (xy 160.1334 100.63988) (xy 160.1334 100.516576)
|
||||
(xy 160.1334 100.405424) (xy 160.090864 100.302733) (xy 160.012267 100.224136) (xy 159.909576 100.1816) (xy 159.62512 100.1816)
|
||||
(xy 159.55527 100.25145) (xy 159.55527 100.70973) (xy 160.06355 100.70973) (xy 160.1334 100.63988) (xy 160.1334 100.78212)
|
||||
(xy 160.06355 100.71227) (xy 159.55527 100.71227) (xy 159.55527 101.17055) (xy 159.62512 101.2404) (xy 159.909576 101.2404)
|
||||
(xy 160.012267 101.197864) (xy 160.090864 101.119267) (xy 160.1334 101.016576) (xy 160.1334 101.853224) (xy 160.090864 101.750533)
|
||||
(xy 160.012267 101.671936) (xy 159.909576 101.6294) (xy 159.62512 101.6294) (xy 159.55527 101.69925) (xy 159.55527 102.15753)
|
||||
(xy 160.06355 102.15753) (xy 160.1334 102.08768) (xy 160.1334 102.22992) (xy 160.06355 102.16007) (xy 159.55527 102.16007)
|
||||
(xy 159.55527 102.61835) (xy 159.62512 102.6882) (xy 159.909576 102.6882) (xy 160.012267 102.645664) (xy 160.090864 102.567067)
|
||||
(xy 160.1334 102.464376) (xy 160.1334 103.775) (xy 159.539824 103.775) (xy 159.437133 103.817536) (xy 159.358536 103.896133)
|
||||
(xy 159.316 103.998824) (xy 159.316 104.033704) (xy 159.260313 104.070913) (xy 159.0532 104.278026) (xy 159.0532 104.006995)
|
||||
(xy 159.233487 103.826708) (xy 159.305065 103.719583) (xy 159.3302 103.593221) (xy 159.330201 103.593221) (xy 159.3302 103.593215)
|
||||
(xy 159.3302 102.6882) (xy 159.48288 102.6882) (xy 159.55273 102.61835) (xy 159.55273 102.16007) (xy 159.53273 102.16007)
|
||||
(xy 159.53273 102.15753) (xy 159.55273 102.15753) (xy 159.55273 101.69925) (xy 159.48288 101.6294) (xy 159.3302 101.6294)
|
||||
(xy 159.3302 101.2404) (xy 159.48288 101.2404) (xy 159.55273 101.17055) (xy 159.55273 100.71227) (xy 159.53273 100.71227)
|
||||
(xy 159.53273 100.70973) (xy 159.55273 100.70973) (xy 159.55273 100.25145) (xy 159.48288 100.1816) (xy 159.3302 100.1816)
|
||||
(xy 159.3302 100.086774) (xy 159.486774 99.9302) (xy 161.063226 99.9302) (xy 163.0198 101.886774) (xy 163.0198 110.213226)
|
||||
(xy 163.0045 110.228526) (xy 163.0045 106.430776) (xy 163.0045 106.319624) (xy 163.0045 105.430624) (xy 163.0045 104.525776)
|
||||
(xy 163.0045 104.09682) (xy 163.0045 103.95458) (xy 163.0045 103.525624) (xy 162.961964 103.422933) (xy 162.883367 103.344336)
|
||||
(xy 162.780676 103.3018) (xy 162.669524 103.3018) (xy 162.09772 103.3018) (xy 162.02787 103.37165) (xy 162.02787 104.02443)
|
||||
(xy 162.93465 104.02443) (xy 163.0045 103.95458) (xy 163.0045 104.09682) (xy 162.93465 104.02697) (xy 162.02787 104.02697)
|
||||
(xy 162.02787 104.67975) (xy 162.09772 104.7496) (xy 162.669524 104.7496) (xy 162.780676 104.7496) (xy 162.883367 104.707064)
|
||||
(xy 162.961964 104.628467) (xy 163.0045 104.525776) (xy 163.0045 105.430624) (xy 162.961964 105.327933) (xy 162.883367 105.249336)
|
||||
(xy 162.780676 105.2068) (xy 162.669524 105.2068) (xy 162.02533 105.2068) (xy 162.02533 104.67975) (xy 162.02533 104.02697)
|
||||
(xy 162.02533 104.02443) (xy 162.02533 103.37165) (xy 161.95548 103.3018) (xy 161.383676 103.3018) (xy 161.272524 103.3018)
|
||||
(xy 161.169833 103.344336) (xy 161.091236 103.422933) (xy 161.0487 103.525624) (xy 161.0487 103.95458) (xy 161.11855 104.02443)
|
||||
(xy 162.02533 104.02443) (xy 162.02533 104.02697) (xy 161.11855 104.02697) (xy 161.0487 104.09682) (xy 161.0487 104.525776)
|
||||
(xy 161.091236 104.628467) (xy 161.169833 104.707064) (xy 161.272524 104.7496) (xy 161.383676 104.7496) (xy 161.95548 104.7496)
|
||||
(xy 162.02533 104.67975) (xy 162.02533 105.2068) (xy 161.272524 105.2068) (xy 161.169833 105.249336) (xy 161.091236 105.327933)
|
||||
(xy 161.0487 105.430624) (xy 161.0487 105.541776) (xy 161.0487 105.6005) (xy 160.7748 105.6005) (xy 160.7748 105.498824)
|
||||
(xy 160.732264 105.396133) (xy 160.653667 105.317536) (xy 160.550976 105.275) (xy 160.439824 105.275) (xy 159.539824 105.275)
|
||||
(xy 159.437133 105.317536) (xy 159.358536 105.396133) (xy 159.316 105.498824) (xy 159.316 105.609976) (xy 159.316 106.109976)
|
||||
(xy 159.358536 106.212667) (xy 159.437133 106.291264) (xy 159.539824 106.3338) (xy 159.650976 106.3338) (xy 160.550976 106.3338)
|
||||
(xy 160.653667 106.291264) (xy 160.684031 106.2609) (xy 161.0487 106.2609) (xy 161.0487 106.430776) (xy 161.091236 106.533467)
|
||||
(xy 161.169833 106.612064) (xy 161.272524 106.6546) (xy 161.383676 106.6546) (xy 162.780676 106.6546) (xy 162.883367 106.612064)
|
||||
(xy 162.961964 106.533467) (xy 163.0045 106.430776) (xy 163.0045 110.228526) (xy 162.413226 110.8198) (xy 161.7472 110.8198)
|
||||
(xy 161.7472 110.266176) (xy 161.7472 110.155024) (xy 161.7472 109.26572) (xy 161.7472 109.12348) (xy 161.7472 108.234176)
|
||||
(xy 161.7472 108.123024) (xy 161.704664 108.020333) (xy 161.626067 107.941736) (xy 161.523376 107.8992) (xy 160.67532 107.8992)
|
||||
(xy 160.60547 107.96905) (xy 160.60547 109.19333) (xy 161.67735 109.19333) (xy 161.7472 109.12348) (xy 161.7472 109.26572)
|
||||
(xy 161.67735 109.19587) (xy 160.60547 109.19587) (xy 160.60547 110.42015) (xy 160.67532 110.49) (xy 161.523376 110.49)
|
||||
(xy 161.626067 110.447464) (xy 161.704664 110.368867) (xy 161.7472 110.266176) (xy 161.7472 110.8198) (xy 160.60293 110.8198)
|
||||
(xy 160.60293 110.42015) (xy 160.60293 109.19587) (xy 160.60293 109.19333) (xy 160.60293 107.96905) (xy 160.53308 107.8992)
|
||||
(xy 159.685024 107.8992) (xy 159.582333 107.941736) (xy 159.503736 108.020333) (xy 159.4612 108.123024) (xy 159.4612 108.234176)
|
||||
(xy 159.4612 109.12348) (xy 159.53105 109.19333) (xy 160.60293 109.19333) (xy 160.60293 109.19587) (xy 159.53105 109.19587)
|
||||
(xy 159.4612 109.26572) (xy 159.4612 110.155024) (xy 159.4612 110.266176) (xy 159.503736 110.368867) (xy 159.582333 110.447464)
|
||||
(xy 159.685024 110.49) (xy 160.53308 110.49) (xy 160.60293 110.42015) (xy 160.60293 110.8198) (xy 158.3944 110.8198)
|
||||
(xy 158.3944 110.449696) (xy 158.501607 110.428372) (xy 158.872423 110.180601) (xy 159.120194 109.809785) (xy 159.2072 109.372378)
|
||||
(xy 159.2072 109.016822) (xy 159.120194 108.579415) (xy 158.872423 108.208599) (xy 158.501607 107.960828) (xy 158.0642 107.873822)
|
||||
(xy 157.626793 107.960828) (xy 157.255977 108.208599) (xy 157.008206 108.579415) (xy 156.9212 109.016822) (xy 156.9212 109.372378)
|
||||
(xy 157.008206 109.809785) (xy 157.255977 110.180601) (xy 157.626793 110.428372) (xy 157.734 110.449696) (xy 157.734 110.9642)
|
||||
(xy 157.759135 111.090562) (xy 157.830713 111.197687) (xy 158.016513 111.383487) (xy 158.123638 111.455065) (xy 158.25 111.480201)
|
||||
(xy 158.25 111.4802) (xy 158.250005 111.4802) (xy 162.55 111.4802) (xy 162.676362 111.455065) (xy 162.783487 111.383487)
|
||||
(xy 163.583487 110.583487) (xy 163.655065 110.476362) (xy 163.6802 110.35) (xy 163.680201 110.35) (xy 163.6802 110.349994)
|
||||
(xy 163.6802 101.75) (xy 163.655065 101.623638) (xy 163.583487 101.516513) (xy 161.433487 99.366513) (xy 161.326362 99.294935)
|
||||
(xy 161.2 99.2698) (xy 159.35 99.2698) (xy 159.223638 99.294935) (xy 159.116513 99.366513) (xy 159.025 99.458026)
|
||||
(xy 158.933487 99.366513) (xy 158.826362 99.294935) (xy 158.7 99.2698) (xy 154.100005 99.2698) (xy 154.1 99.269799)
|
||||
(xy 153.973638 99.294935) (xy 153.866513 99.366513) (xy 152.766513 100.466513) (xy 152.694935 100.573638) (xy 152.6698 100.7)
|
||||
(xy 152.6698 102.3) (xy 152.694935 102.426362) (xy 152.766513 102.533487) (xy 152.96651 102.733483) (xy 152.966513 102.733487)
|
||||
(xy 152.966514 102.733487) (xy 153.073638 102.805065) (xy 153.2 102.830201) (xy 153.2 102.8302) (xy 153.200005 102.8302)
|
||||
(xy 153.2206 102.8302) (xy 153.2206 102.97888) (xy 153.29045 103.04873) (xy 153.74873 103.04873) (xy 153.74873 103.02873)
|
||||
(xy 153.75127 103.02873) (xy 153.75127 103.04873) (xy 154.20955 103.04873) (xy 154.2794 102.97888) (xy 154.2794 102.955773)
|
||||
(xy 154.868129 103.544502) (xy 154.7968 103.615832) (xy 154.7968 104.0004) (xy 154.387007 104.0004) (xy 154.365194 103.978548)
|
||||
(xy 154.2794 103.942923) (xy 154.2794 103.405576) (xy 154.2794 103.12112) (xy 154.20955 103.05127) (xy 153.75127 103.05127)
|
||||
(xy 153.75127 103.55955) (xy 153.82112 103.6294) (xy 153.944424 103.6294) (xy 154.055576 103.6294) (xy 154.158267 103.586864)
|
||||
(xy 154.236864 103.508267) (xy 154.2794 103.405576) (xy 154.2794 103.942923) (xy 154.225798 103.920666) (xy 154.074864 103.920534)
|
||||
(xy 153.935368 103.978173) (xy 153.887912 104.025544) (xy 153.74873 103.886362) (xy 153.74873 103.55955) (xy 153.74873 103.05127)
|
||||
(xy 153.29045 103.05127) (xy 153.2206 103.12112) (xy 153.2206 103.405576) (xy 153.263136 103.508267) (xy 153.341733 103.586864)
|
||||
(xy 153.444424 103.6294) (xy 153.555576 103.6294) (xy 153.67888 103.6294) (xy 153.74873 103.55955) (xy 153.74873 103.886362)
|
||||
(xy 153.675 103.812632) (xy 153.412173 104.075458) (xy 153.376346 104.076713) (xy 153.376346 103.986301) (xy 153.239069 103.92356)
|
||||
(xy 153.088231 103.91813) (xy 152.946798 103.970835) (xy 152.923654 103.986301) (xy 152.926759 104.074963) (xy 153.15 104.298204)
|
||||
(xy 153.373241 104.074963) (xy 153.376346 103.986301) (xy 153.376346 104.076713) (xy 153.375037 104.076759) (xy 153.151796 104.3)
|
||||
(xy 153.165938 104.314142) (xy 153.164142 104.315938) (xy 153.15 104.301796) (xy 153.135857 104.315938) (xy 153.134061 104.314142)
|
||||
(xy 153.148204 104.3) (xy 152.924963 104.076759) (xy 152.836301 104.073654) (xy 152.77356 104.210931) (xy 152.76813 104.361769)
|
||||
(xy 152.798624 104.4436) (xy 152.037637 104.4436) (xy 152.036864 104.441733) (xy 151.958267 104.363136) (xy 151.855576 104.3206)
|
||||
(xy 151.744424 104.3206) (xy 151.5762 104.3206) (xy 151.5762 97.681563) (xy 152.031563 97.2262) (xy 163.468437 97.2262)
|
||||
(xy 163.9238 97.681563) (xy 163.9238 111.318437)
|
||||
)
|
||||
)
|
||||
)
|
||||
(zone (net 0) (net_name "") (layer F.Cu) (tstamp 550C7E3B) (hatch edge 0.508)
|
||||
(connect_pads (clearance 0.2032))
|
||||
(min_thickness 0.1524)
|
||||
(keepout (tracks allowed) (vias allowed) (copperpour not_allowed))
|
||||
(fill yes (arc_segments 16) (thermal_gap 0.2032) (thermal_bridge_width 0.15494) (smoothing chamfer) (radius 0.5))
|
||||
(polygon
|
||||
(pts
|
||||
(xy 153.9 104.55) (xy 153.45 104.55) (xy 153.45 104.1) (xy 153.9 104.1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(zone (net 0) (net_name "") (layer F.Cu) (tstamp 550C7E43) (hatch edge 0.508)
|
||||
(connect_pads (clearance 0.2032))
|
||||
(min_thickness 0.1524)
|
||||
(keepout (tracks allowed) (vias allowed) (copperpour not_allowed))
|
||||
(fill yes (arc_segments 16) (thermal_gap 0.2032) (thermal_bridge_width 0.15494) (smoothing chamfer) (radius 0.5))
|
||||
(polygon
|
||||
(pts
|
||||
(xy 158.85 107.05) (xy 155 107.05) (xy 155 103.2) (xy 158.85 103.2)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
69
samples/KiCad/ultimate-temp-controller.sch
Normal file
69
samples/KiCad/ultimate-temp-controller.sch
Normal file
@@ -0,0 +1,69 @@
|
||||
EESchema Schematic File Version 2
|
||||
LIBS:power
|
||||
LIBS:device
|
||||
LIBS:transistors
|
||||
LIBS:conn
|
||||
LIBS:linear
|
||||
LIBS:regul
|
||||
LIBS:74xx
|
||||
LIBS:cmos4000
|
||||
LIBS:adc-dac
|
||||
LIBS:memory
|
||||
LIBS:xilinx
|
||||
LIBS:special
|
||||
LIBS:microcontrollers
|
||||
LIBS:dsp
|
||||
LIBS:microchip
|
||||
LIBS:analog_switches
|
||||
LIBS:motorola
|
||||
LIBS:texas
|
||||
LIBS:intel
|
||||
LIBS:audio
|
||||
LIBS:interface
|
||||
LIBS:digital-audio
|
||||
LIBS:philips
|
||||
LIBS:display
|
||||
LIBS:cypress
|
||||
LIBS:siliconi
|
||||
LIBS:opto
|
||||
LIBS:atmel
|
||||
LIBS:contrib
|
||||
LIBS:valves
|
||||
LIBS:relays
|
||||
LIBS:w_relay
|
||||
LIBS:ultimate-temp-controller-cache
|
||||
EELAYER 25 0
|
||||
EELAYER END
|
||||
$Descr A4 11693 8268
|
||||
encoding utf-8
|
||||
Sheet 1 2
|
||||
Title ""
|
||||
Date ""
|
||||
Rev ""
|
||||
Comp ""
|
||||
Comment1 ""
|
||||
Comment2 ""
|
||||
Comment3 ""
|
||||
Comment4 ""
|
||||
$EndDescr
|
||||
$Sheet
|
||||
S 1400 2100 2150 2000
|
||||
U 54E5B803
|
||||
F0 "controller" 60
|
||||
F1 "controller.sch" 60
|
||||
F2 "TC+" I L 1400 2300 60
|
||||
F3 "TC-" I L 1400 2400 60
|
||||
F4 "VCC" I L 1400 3750 60
|
||||
F5 "GND" I L 1400 3900 60
|
||||
F6 "RS485A" I R 3550 3700 60
|
||||
F7 "RS485B" I R 3550 3800 60
|
||||
F8 "DRAIN" O R 3550 3300 60
|
||||
F9 "+5V" O R 3550 2250 60
|
||||
F10 "SDA" B R 3550 2350 60
|
||||
F11 "SCL" B R 3550 2450 60
|
||||
F12 "GND" O R 3550 2550 60
|
||||
F13 "RELAY_NO" I R 3550 2850 60
|
||||
F14 "RELAY_COM" I R 3550 3050 60
|
||||
F15 "RELAY_NC" I R 3550 2950 60
|
||||
$EndSheet
|
||||
$EndSCHEMATC
|
||||
601
samples/Lex/zend_ini_scanner.l
Normal file
601
samples/Lex/zend_ini_scanner.l
Normal file
@@ -0,0 +1,601 @@
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.zend.com/license/2_00.txt. |
|
||||
| If you did not receive a copy of the Zend license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@zend.com so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Authors: Zeev Suraski <zeev@zend.com> |
|
||||
| Jani Taskinen <jani@php.net> |
|
||||
| Marcus Boerger <helly@php.net> |
|
||||
| Nuno Lopes <nlopess@php.net> |
|
||||
| Scott MacVicar <scottmac@php.net> |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
#include <errno.h>
|
||||
#include "zend.h"
|
||||
#include "zend_globals.h"
|
||||
#include <zend_ini_parser.h>
|
||||
#include "zend_ini_scanner.h"
|
||||
|
||||
#if 0
|
||||
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
|
||||
#else
|
||||
# define YYDEBUG(s, c)
|
||||
#endif
|
||||
|
||||
#include "zend_ini_scanner_defs.h"
|
||||
|
||||
#define YYCTYPE unsigned char
|
||||
/* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
|
||||
* so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
|
||||
#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
|
||||
#define YYCURSOR SCNG(yy_cursor)
|
||||
#define YYLIMIT SCNG(yy_limit)
|
||||
#define YYMARKER SCNG(yy_marker)
|
||||
|
||||
#define YYGETCONDITION() SCNG(yy_state)
|
||||
#define YYSETCONDITION(s) SCNG(yy_state) = s
|
||||
|
||||
#define STATE(name) yyc##name
|
||||
|
||||
/* emulate flex constructs */
|
||||
#define BEGIN(state) YYSETCONDITION(STATE(state))
|
||||
#define YYSTATE YYGETCONDITION()
|
||||
#define yytext ((char*)SCNG(yy_text))
|
||||
#define yyleng SCNG(yy_leng)
|
||||
#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \
|
||||
yyleng = (unsigned int)x; } while(0)
|
||||
|
||||
/* #define yymore() goto yymore_restart */
|
||||
|
||||
/* perform sanity check. If this message is triggered you should
|
||||
increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
|
||||
/*!max:re2c */
|
||||
#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
|
||||
# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
|
||||
#endif
|
||||
|
||||
|
||||
/* How it works (for the core ini directives):
|
||||
* ===========================================
|
||||
*
|
||||
* 1. Scanner scans file for tokens and passes them to parser.
|
||||
* 2. Parser parses the tokens and passes the name/value pairs to the callback
|
||||
* function which stores them in the configuration hash table.
|
||||
* 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
|
||||
* registering of ini entries and uses zend_get_configuration_directive()
|
||||
* to fetch the previously stored name/value pair from configuration hash table
|
||||
* and registers the static ini entries which match the name to the value
|
||||
* into EG(ini_directives) hash table.
|
||||
* 4. PATH section entries are used per-request from down to top, each overriding
|
||||
* previous if one exists. zend_alter_ini_entry() is called for each entry.
|
||||
* Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
|
||||
* php_admin_* directives used within Apache httpd.conf when PHP is compiled as
|
||||
* module for Apache.
|
||||
* 5. User defined ini files (like .htaccess for apache) are parsed for each request and
|
||||
* stored in separate hash defined by SAPI.
|
||||
*/
|
||||
|
||||
/* TODO: (ordered by importance :-)
|
||||
* ===============================================================================
|
||||
*
|
||||
* - Separate constant lookup totally from plain strings (using CONSTANT pattern)
|
||||
* - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
|
||||
* - Add #include "some.ini"
|
||||
* - Allow variables to refer to options also when using parse_ini_file()
|
||||
*
|
||||
*/
|
||||
|
||||
/* Globals Macros */
|
||||
#define SCNG INI_SCNG
|
||||
#ifdef ZTS
|
||||
ZEND_API ts_rsrc_id ini_scanner_globals_id;
|
||||
#else
|
||||
ZEND_API zend_ini_scanner_globals ini_scanner_globals;
|
||||
#endif
|
||||
|
||||
/* Eat leading whitespace */
|
||||
#define EAT_LEADING_WHITESPACE() \
|
||||
while (yytext[0]) { \
|
||||
if (yytext[0] == ' ' || yytext[0] == '\t') { \
|
||||
SCNG(yy_text)++; \
|
||||
yyleng--; \
|
||||
} else { \
|
||||
break; \
|
||||
} \
|
||||
}
|
||||
|
||||
/* Eat trailing whitespace + extra char */
|
||||
#define EAT_TRAILING_WHITESPACE_EX(ch) \
|
||||
while (yyleng > 0 && ( \
|
||||
(ch != 'X' && yytext[yyleng - 1] == ch) || \
|
||||
yytext[yyleng - 1] == '\n' || \
|
||||
yytext[yyleng - 1] == '\r' || \
|
||||
yytext[yyleng - 1] == '\t' || \
|
||||
yytext[yyleng - 1] == ' ') \
|
||||
) { \
|
||||
yyleng--; \
|
||||
}
|
||||
|
||||
/* Eat trailing whitespace */
|
||||
#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X')
|
||||
|
||||
#define zend_ini_copy_value(retval, str, len) { \
|
||||
Z_STRVAL_P(retval) = zend_strndup(str, len); \
|
||||
Z_STRLEN_P(retval) = len; \
|
||||
Z_TYPE_P(retval) = IS_STRING; \
|
||||
}
|
||||
|
||||
#define RETURN_TOKEN(type, str, len) { \
|
||||
zend_ini_copy_value(ini_lval, str, len); \
|
||||
return type; \
|
||||
}
|
||||
|
||||
static void _yy_push_state(int new_state TSRMLS_DC)
|
||||
{
|
||||
zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int));
|
||||
YYSETCONDITION(new_state);
|
||||
}
|
||||
|
||||
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
|
||||
|
||||
static void yy_pop_state(TSRMLS_D)
|
||||
{
|
||||
int *stack_state;
|
||||
zend_stack_top(&SCNG(state_stack), (void **) &stack_state);
|
||||
YYSETCONDITION(*stack_state);
|
||||
zend_stack_del_top(&SCNG(state_stack));
|
||||
}
|
||||
|
||||
static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
|
||||
{
|
||||
YYCURSOR = (YYCTYPE*)str;
|
||||
SCNG(yy_start) = YYCURSOR;
|
||||
YYLIMIT = YYCURSOR + len;
|
||||
}
|
||||
|
||||
#define ini_filename SCNG(filename)
|
||||
|
||||
/* {{{ init_ini_scanner()
|
||||
*/
|
||||
static int init_ini_scanner(int scanner_mode, zend_file_handle *fh TSRMLS_DC)
|
||||
{
|
||||
/* Sanity check */
|
||||
if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW) {
|
||||
zend_error(E_WARNING, "Invalid scanner mode");
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
SCNG(lineno) = 1;
|
||||
SCNG(scanner_mode) = scanner_mode;
|
||||
SCNG(yy_in) = fh;
|
||||
|
||||
if (fh != NULL) {
|
||||
ini_filename = zend_strndup(fh->filename, strlen(fh->filename));
|
||||
} else {
|
||||
ini_filename = NULL;
|
||||
}
|
||||
|
||||
zend_stack_init(&SCNG(state_stack));
|
||||
BEGIN(INITIAL);
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ shutdown_ini_scanner()
|
||||
*/
|
||||
void shutdown_ini_scanner(TSRMLS_D)
|
||||
{
|
||||
zend_stack_destroy(&SCNG(state_stack));
|
||||
if (ini_filename) {
|
||||
free(ini_filename);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ zend_ini_scanner_get_lineno()
|
||||
*/
|
||||
int zend_ini_scanner_get_lineno(TSRMLS_D)
|
||||
{
|
||||
return SCNG(lineno);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ zend_ini_scanner_get_filename()
|
||||
*/
|
||||
char *zend_ini_scanner_get_filename(TSRMLS_D)
|
||||
{
|
||||
return ini_filename ? ini_filename : "Unknown";
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ zend_ini_open_file_for_scanning()
|
||||
*/
|
||||
int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode TSRMLS_DC)
|
||||
{
|
||||
char *buf;
|
||||
size_t size;
|
||||
|
||||
if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE) {
|
||||
zend_file_handle_dtor(fh TSRMLS_CC);
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
yy_scan_buffer(buf, size TSRMLS_CC);
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ zend_ini_prepare_string_for_scanning()
|
||||
*/
|
||||
int zend_ini_prepare_string_for_scanning(char *str, int scanner_mode TSRMLS_DC)
|
||||
{
|
||||
int len = strlen(str);
|
||||
|
||||
if (init_ini_scanner(scanner_mode, NULL TSRMLS_CC) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
yy_scan_buffer(str, len TSRMLS_CC);
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ zend_ini_escape_string()
|
||||
*/
|
||||
static void zend_ini_escape_string(zval *lval, char *str, int len, char quote_type TSRMLS_DC)
|
||||
{
|
||||
register char *s, *t;
|
||||
char *end;
|
||||
|
||||
zend_ini_copy_value(lval, str, len);
|
||||
|
||||
/* convert escape sequences */
|
||||
s = t = Z_STRVAL_P(lval);
|
||||
end = s + Z_STRLEN_P(lval);
|
||||
|
||||
while (s < end) {
|
||||
if (*s == '\\') {
|
||||
s++;
|
||||
if (s >= end) {
|
||||
*t++ = '\\';
|
||||
continue;
|
||||
}
|
||||
switch (*s) {
|
||||
case '"':
|
||||
if (*s != quote_type) {
|
||||
*t++ = '\\';
|
||||
*t++ = *s;
|
||||
break;
|
||||
}
|
||||
case '\\':
|
||||
case '$':
|
||||
*t++ = *s;
|
||||
Z_STRLEN_P(lval)--;
|
||||
break;
|
||||
default:
|
||||
*t++ = '\\';
|
||||
*t++ = *s;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
*t++ = *s;
|
||||
}
|
||||
if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
|
||||
SCNG(lineno)++;
|
||||
}
|
||||
s++;
|
||||
}
|
||||
*t = 0;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
int ini_lex(zval *ini_lval TSRMLS_DC)
|
||||
{
|
||||
restart:
|
||||
SCNG(yy_text) = YYCURSOR;
|
||||
|
||||
/* yymore_restart: */
|
||||
/* detect EOF */
|
||||
if (YYCURSOR >= YYLIMIT) {
|
||||
if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
|
||||
BEGIN(INITIAL);
|
||||
return END_OF_LINE;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Eat any UTF-8 BOM we find in the first 3 bytes */
|
||||
if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
|
||||
if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
|
||||
YYCURSOR += 3;
|
||||
goto restart;
|
||||
}
|
||||
}
|
||||
/*!re2c
|
||||
re2c:yyfill:check = 0;
|
||||
LNUM [0-9]+
|
||||
DNUM ([0-9]*[\.][0-9]+)|([0-9]+[\.][0-9]*)
|
||||
NUMBER [-]?{LNUM}|{DNUM}
|
||||
ANY_CHAR (.|[\n\t])
|
||||
NEWLINE ("\r"|"\n"|"\r\n")
|
||||
TABS_AND_SPACES [ \t]
|
||||
WHITESPACE [ \t]+
|
||||
CONSTANT [a-zA-Z_][a-zA-Z0-9_]*
|
||||
LABEL [^=\n\r\t;|&$~(){}!"\[]+
|
||||
TOKENS [:,.\[\]"'()|^&+-/*=%$!~<>?@{}]
|
||||
OPERATORS [&|~()!]
|
||||
DOLLAR_CURLY "${"
|
||||
|
||||
SECTION_RAW_CHARS [^\]\n\r]
|
||||
SINGLE_QUOTED_CHARS [^']
|
||||
RAW_VALUE_CHARS [^"\n\r;\000]
|
||||
|
||||
LITERAL_DOLLAR ("$"([^{\000]|("\\"{ANY_CHAR})))
|
||||
VALUE_CHARS ([^$= \t\n\r;&|~()!"'\000]|{LITERAL_DOLLAR})
|
||||
SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
|
||||
|
||||
<!*> := yyleng = YYCURSOR - SCNG(yy_text);
|
||||
|
||||
<INITIAL>"[" { /* Section start */
|
||||
/* Enter section data lookup state */
|
||||
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
|
||||
yy_push_state(ST_SECTION_RAW TSRMLS_CC);
|
||||
} else {
|
||||
yy_push_state(ST_SECTION_VALUE TSRMLS_CC);
|
||||
}
|
||||
return TC_SECTION;
|
||||
}
|
||||
|
||||
<ST_VALUE,ST_SECTION_VALUE,ST_OFFSET>"'"{SINGLE_QUOTED_CHARS}+"'" { /* Raw string */
|
||||
/* Eat leading and trailing single quotes */
|
||||
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
|
||||
SCNG(yy_text)++;
|
||||
yyleng = yyleng - 2;
|
||||
}
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_SECTION_RAW,ST_SECTION_VALUE>"]"{TABS_AND_SPACES}*{NEWLINE}? { /* End of section */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return ']';
|
||||
}
|
||||
|
||||
<INITIAL>{LABEL}"["{TABS_AND_SPACES}* { /* Start of option with offset */
|
||||
/* Eat leading whitespace */
|
||||
EAT_LEADING_WHITESPACE();
|
||||
|
||||
/* Eat trailing whitespace and [ */
|
||||
EAT_TRAILING_WHITESPACE_EX('[');
|
||||
|
||||
/* Enter offset lookup state */
|
||||
yy_push_state(ST_OFFSET TSRMLS_CC);
|
||||
|
||||
RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_OFFSET>{TABS_AND_SPACES}*"]" { /* End of section or an option offset */
|
||||
BEGIN(INITIAL);
|
||||
return ']';
|
||||
}
|
||||
|
||||
<ST_DOUBLE_QUOTES,ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{DOLLAR_CURLY} { /* Variable start */
|
||||
yy_push_state(ST_VARNAME TSRMLS_CC);
|
||||
return TC_DOLLAR_CURLY;
|
||||
}
|
||||
|
||||
<ST_VARNAME>{LABEL} { /* Variable name */
|
||||
/* Eat leading whitespace */
|
||||
EAT_LEADING_WHITESPACE();
|
||||
|
||||
/* Eat trailing whitespace */
|
||||
EAT_TRAILING_WHITESPACE();
|
||||
|
||||
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_VARNAME>"}" { /* Variable end */
|
||||
yy_pop_state(TSRMLS_C);
|
||||
return '}';
|
||||
}
|
||||
|
||||
<INITIAL,ST_VALUE>("true"|"on"|"yes"){TABS_AND_SPACES}* { /* TRUE value (when used outside option value/offset this causes parse error!) */
|
||||
RETURN_TOKEN(BOOL_TRUE, "1", 1);
|
||||
}
|
||||
|
||||
<INITIAL,ST_VALUE>("false"|"off"|"no"|"none"|"null"){TABS_AND_SPACES}* { /* FALSE value (when used outside option value/offset this causes parse error!)*/
|
||||
RETURN_TOKEN(BOOL_FALSE, "", 0);
|
||||
}
|
||||
|
||||
<INITIAL>{LABEL} { /* Get option name */
|
||||
/* Eat leading whitespace */
|
||||
EAT_LEADING_WHITESPACE();
|
||||
|
||||
/* Eat trailing whitespace */
|
||||
EAT_TRAILING_WHITESPACE();
|
||||
|
||||
RETURN_TOKEN(TC_LABEL, yytext, yyleng);
|
||||
}
|
||||
|
||||
<INITIAL>{TABS_AND_SPACES}*[=]{TABS_AND_SPACES}* { /* Start option value */
|
||||
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
|
||||
yy_push_state(ST_RAW TSRMLS_CC);
|
||||
} else {
|
||||
yy_push_state(ST_VALUE TSRMLS_CC);
|
||||
}
|
||||
return '=';
|
||||
}
|
||||
|
||||
<ST_RAW>["] {
|
||||
while (YYCURSOR < YYLIMIT) {
|
||||
switch (*YYCURSOR++) {
|
||||
case '\n':
|
||||
SCNG(lineno)++;
|
||||
break;
|
||||
case '\r':
|
||||
if (*YYCURSOR != '\n') {
|
||||
SCNG(lineno)++;
|
||||
}
|
||||
break;
|
||||
case '"':
|
||||
yyleng = YYCURSOR - SCNG(yy_text) - 2;
|
||||
SCNG(yy_text)++;
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
case '\\':
|
||||
if (YYCURSOR < YYLIMIT) {
|
||||
YYCURSOR++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_RAW>{RAW_VALUE_CHARS}+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_SECTION_RAW>{SECTION_RAW_CHARS}+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_VALUE,ST_RAW>{TABS_AND_SPACES}*{NEWLINE} { /* End of option value */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
|
||||
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{CONSTANT} { /* Get constant option value */
|
||||
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{NUMBER} { /* Get number option value as string */
|
||||
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
|
||||
}
|
||||
|
||||
<INITIAL>{TOKENS} { /* Disallow these chars outside option values */
|
||||
return yytext[0];
|
||||
}
|
||||
|
||||
<ST_VALUE>{OPERATORS}{TABS_AND_SPACES}* { /* Boolean operators */
|
||||
return yytext[0];
|
||||
}
|
||||
|
||||
<ST_VALUE>[=] { /* Make = used in option value to trigger error */
|
||||
yyless(0);
|
||||
BEGIN(INITIAL);
|
||||
return END_OF_LINE;
|
||||
}
|
||||
|
||||
<ST_VALUE>{VALUE_CHARS}+ { /* Get everything else as option/offset value */
|
||||
RETURN_TOKEN(TC_STRING, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_SECTION_VALUE,ST_OFFSET>{SECTION_VALUE_CHARS}+ { /* Get rest as section/offset value */
|
||||
RETURN_TOKEN(TC_STRING, yytext, yyleng);
|
||||
}
|
||||
|
||||
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{TABS_AND_SPACES}*["] { /* Double quoted '"' string start */
|
||||
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
|
||||
return '"';
|
||||
}
|
||||
|
||||
<ST_DOUBLE_QUOTES>["]{TABS_AND_SPACES}* { /* Double quoted '"' string ends */
|
||||
yy_pop_state(TSRMLS_C);
|
||||
return '"';
|
||||
}
|
||||
|
||||
<ST_DOUBLE_QUOTES>[^] { /* Escape double quoted string contents */
|
||||
if (YYCURSOR > YYLIMIT) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (YYCURSOR < YYLIMIT) {
|
||||
switch (*YYCURSOR++) {
|
||||
case '"':
|
||||
if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case '$':
|
||||
if (*YYCURSOR == '{') {
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
case '\\':
|
||||
if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
|
||||
YYCURSOR++;
|
||||
}
|
||||
/* fall through */
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
||||
YYCURSOR--;
|
||||
break;
|
||||
}
|
||||
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
|
||||
zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
|
||||
return TC_QUOTED_STRING;
|
||||
}
|
||||
|
||||
<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{WHITESPACE} {
|
||||
RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
|
||||
}
|
||||
|
||||
<INITIAL,ST_RAW>{TABS_AND_SPACES}+ {
|
||||
/* eat whitespace */
|
||||
goto restart;
|
||||
}
|
||||
|
||||
<INITIAL>{TABS_AND_SPACES}*{NEWLINE} {
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
|
||||
<INITIAL,ST_VALUE,ST_RAW>{TABS_AND_SPACES}*[;][^\r\n]*{NEWLINE} { /* Comment */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
|
||||
<INITIAL>{TABS_AND_SPACES}*[#][^\r\n]*{NEWLINE} { /* #Comment */
|
||||
zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno));
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
|
||||
<ST_VALUE,ST_RAW>[^] { /* End of option value (if EOF is reached before EOL */
|
||||
BEGIN(INITIAL);
|
||||
return END_OF_LINE;
|
||||
}
|
||||
|
||||
<*>[^] {
|
||||
return 0;
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
48
samples/Limbo/cat.b
Normal file
48
samples/Limbo/cat.b
Normal file
@@ -0,0 +1,48 @@
|
||||
implement Cat;
|
||||
|
||||
include "sys.m";
|
||||
sys: Sys;
|
||||
|
||||
include "draw.m";
|
||||
|
||||
Cat: module
|
||||
{
|
||||
init: fn(ctxt: ref Draw->Context, argv: list of string);
|
||||
};
|
||||
|
||||
stdout: ref Sys->FD;
|
||||
|
||||
init(nil: ref Draw->Context, args: list of string)
|
||||
{
|
||||
sys = load Sys Sys->PATH;
|
||||
stdout = sys->fildes(1);
|
||||
args = tl args;
|
||||
if(args == nil)
|
||||
args = "-" :: nil;
|
||||
for(; args != nil; args = tl args){
|
||||
file := hd args;
|
||||
if(file != "-"){
|
||||
fd := sys->open(file, Sys->OREAD);
|
||||
if(fd == nil){
|
||||
sys->fprint(sys->fildes(2), "cat: cannot open %s: %r\n", file);
|
||||
raise "fail:bad open";
|
||||
}
|
||||
cat(fd, file);
|
||||
}else
|
||||
cat(sys->fildes(0), "<stdin>");
|
||||
}
|
||||
}
|
||||
|
||||
cat(fd: ref Sys->FD, file: string)
|
||||
{
|
||||
buf := array[Sys->ATOMICIO] of byte;
|
||||
while((n := sys->read(fd, buf, len buf)) > 0)
|
||||
if(sys->write(stdout, buf, n) < n) {
|
||||
sys->fprint(sys->fildes(2), "cat: write error: %r\n");
|
||||
raise "fail:write error";
|
||||
}
|
||||
if(n < 0) {
|
||||
sys->fprint(sys->fildes(2), "cat: error reading %s: %r\n", file);
|
||||
raise "fail:read error";
|
||||
}
|
||||
}
|
||||
26
samples/Limbo/lock.b
Normal file
26
samples/Limbo/lock.b
Normal file
@@ -0,0 +1,26 @@
|
||||
implement Lock;
|
||||
|
||||
include "sys.m";
|
||||
sys: Sys;
|
||||
include "lock.m";
|
||||
|
||||
Semaphore.obtain(l: self ref Semaphore)
|
||||
{
|
||||
l.c <-= 0;
|
||||
}
|
||||
|
||||
Semaphore.release(l: self ref Semaphore)
|
||||
{
|
||||
<-l.c;
|
||||
}
|
||||
|
||||
Semaphore.new(): ref Semaphore
|
||||
{
|
||||
l := ref Semaphore;
|
||||
l.c = chan[1] of int;
|
||||
return l;
|
||||
}
|
||||
|
||||
init()
|
||||
{
|
||||
}
|
||||
13
samples/Limbo/lock.m
Normal file
13
samples/Limbo/lock.m
Normal file
@@ -0,0 +1,13 @@
|
||||
Lock: module
|
||||
{
|
||||
PATH: con "/dis/lib/lock.dis";
|
||||
|
||||
Semaphore: adt {
|
||||
c: chan of int;
|
||||
obtain: fn(nil: self ref Semaphore);
|
||||
release: fn(nil: self ref Semaphore);
|
||||
new: fn(): ref Semaphore;
|
||||
};
|
||||
|
||||
init: fn();
|
||||
};
|
||||
50
samples/Linker Script/filenames/ld.script
Normal file
50
samples/Linker Script/filenames/ld.script
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* ld.script for compressed kernel support of MIPS
|
||||
*
|
||||
* Copyright (C) 2009 Lemote Inc.
|
||||
* Author: Wu Zhangjin <wuzhanjing@gmail.com>
|
||||
* Copyright (C) 2010 "Wu Zhangjin" <wuzhanjing@gmail.com>
|
||||
*/
|
||||
|
||||
OUTPUT_ARCH(mips)
|
||||
ENTRY(start)
|
||||
SECTIONS
|
||||
{
|
||||
/* Text and read-only data */
|
||||
/* . = VMLINUZ_LOAD_ADDRESS; */
|
||||
.text : {
|
||||
*(.text)
|
||||
*(.rodata)
|
||||
}
|
||||
/* End of text section */
|
||||
|
||||
/* Writable data */
|
||||
.data : {
|
||||
*(.data)
|
||||
/* Put the compressed image here */
|
||||
__image_begin = .;
|
||||
*(.image)
|
||||
__image_end = .;
|
||||
CONSTRUCTORS
|
||||
}
|
||||
. = ALIGN(16);
|
||||
_edata = .;
|
||||
/* End of data section */
|
||||
|
||||
/* BSS */
|
||||
.bss : {
|
||||
*(.bss)
|
||||
}
|
||||
. = ALIGN(16);
|
||||
_end = .;
|
||||
|
||||
/* Sections to be discarded */
|
||||
/DISCARD/ : {
|
||||
*(.MIPS.options)
|
||||
*(.options)
|
||||
*(.pdr)
|
||||
*(.reginfo)
|
||||
*(.comment)
|
||||
*(.note)
|
||||
}
|
||||
}
|
||||
12
samples/Linker Script/link.ld
Normal file
12
samples/Linker Script/link.ld
Normal file
@@ -0,0 +1,12 @@
|
||||
/*
|
||||
* link.ld
|
||||
*/
|
||||
OUTPUT_FORMAT(elf32-i386)
|
||||
ENTRY(start)
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x100000;
|
||||
.text : { *(.text) }
|
||||
.data : { *(.data) }
|
||||
.bss : { *(.bss) }
|
||||
}
|
||||
373
samples/Linker Script/vmlinux.lds
Normal file
373
samples/Linker Script/vmlinux.lds
Normal file
@@ -0,0 +1,373 @@
|
||||
/*
|
||||
* ld script for the x86 kernel
|
||||
*
|
||||
* Historic 32-bit version written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
|
||||
*
|
||||
* Modernisation, unification and other changes and fixes:
|
||||
* Copyright (C) 2007-2009 Sam Ravnborg <sam@ravnborg.org>
|
||||
*
|
||||
*
|
||||
* Don't define absolute symbols until and unless you know that symbol
|
||||
* value is should remain constant even if kernel image is relocated
|
||||
* at run time. Absolute symbols are not relocated. If symbol value should
|
||||
* change if kernel is relocated, make the symbol section relative and
|
||||
* put it inside the section definition.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
#define LOAD_OFFSET __PAGE_OFFSET
|
||||
#else
|
||||
#define LOAD_OFFSET __START_KERNEL_map
|
||||
#endif
|
||||
|
||||
#include <asm-generic/vmlinux.lds.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/thread_info.h>
|
||||
#include <asm/page_types.h>
|
||||
#include <asm/cache.h>
|
||||
#include <asm/boot.h>
|
||||
|
||||
#undef i386 /* in case the preprocessor is a 32bit one */
|
||||
|
||||
OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
OUTPUT_ARCH(i386)
|
||||
ENTRY(phys_startup_32)
|
||||
jiffies = jiffies_64;
|
||||
#else
|
||||
OUTPUT_ARCH(i386:x86-64)
|
||||
ENTRY(phys_startup_64)
|
||||
jiffies_64 = jiffies;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
|
||||
/*
|
||||
* On 64-bit, align RODATA to 2MB so that even with CONFIG_DEBUG_RODATA
|
||||
* we retain large page mappings for boundaries spanning kernel text, rodata
|
||||
* and data sections.
|
||||
*
|
||||
* However, kernel identity mappings will have different RWX permissions
|
||||
* to the pages mapping to text and to the pages padding (which are freed) the
|
||||
* text section. Hence kernel identity mappings will be broken to smaller
|
||||
* pages. For 64-bit, kernel text and kernel identity mappings are different,
|
||||
* so we can enable protection checks that come with CONFIG_DEBUG_RODATA,
|
||||
* as well as retain 2MB large page mappings for kernel text.
|
||||
*/
|
||||
#define X64_ALIGN_DEBUG_RODATA_BEGIN . = ALIGN(HPAGE_SIZE);
|
||||
|
||||
#define X64_ALIGN_DEBUG_RODATA_END \
|
||||
. = ALIGN(HPAGE_SIZE); \
|
||||
__end_rodata_hpage_align = .;
|
||||
|
||||
#else
|
||||
|
||||
#define X64_ALIGN_DEBUG_RODATA_BEGIN
|
||||
#define X64_ALIGN_DEBUG_RODATA_END
|
||||
|
||||
#endif
|
||||
|
||||
PHDRS {
|
||||
text PT_LOAD FLAGS(5); /* R_E */
|
||||
data PT_LOAD FLAGS(6); /* RW_ */
|
||||
#ifdef CONFIG_X86_64
|
||||
#ifdef CONFIG_SMP
|
||||
percpu PT_LOAD FLAGS(6); /* RW_ */
|
||||
#endif
|
||||
init PT_LOAD FLAGS(7); /* RWE */
|
||||
#endif
|
||||
note PT_NOTE FLAGS(0); /* ___ */
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
#ifdef CONFIG_X86_32
|
||||
. = LOAD_OFFSET + LOAD_PHYSICAL_ADDR;
|
||||
phys_startup_32 = startup_32 - LOAD_OFFSET;
|
||||
#else
|
||||
. = __START_KERNEL;
|
||||
phys_startup_64 = startup_64 - LOAD_OFFSET;
|
||||
#endif
|
||||
|
||||
/* Text and read-only data */
|
||||
.text : AT(ADDR(.text) - LOAD_OFFSET) {
|
||||
_text = .;
|
||||
/* bootstrapping code */
|
||||
HEAD_TEXT
|
||||
. = ALIGN(8);
|
||||
_stext = .;
|
||||
TEXT_TEXT
|
||||
SCHED_TEXT
|
||||
LOCK_TEXT
|
||||
KPROBES_TEXT
|
||||
ENTRY_TEXT
|
||||
IRQENTRY_TEXT
|
||||
*(.fixup)
|
||||
*(.gnu.warning)
|
||||
/* End of text section */
|
||||
_etext = .;
|
||||
} :text = 0x9090
|
||||
|
||||
NOTES :text :note
|
||||
|
||||
EXCEPTION_TABLE(16) :text = 0x9090
|
||||
|
||||
#if defined(CONFIG_DEBUG_RODATA)
|
||||
/* .text should occupy whole number of pages */
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
#endif
|
||||
X64_ALIGN_DEBUG_RODATA_BEGIN
|
||||
RO_DATA(PAGE_SIZE)
|
||||
X64_ALIGN_DEBUG_RODATA_END
|
||||
|
||||
/* Data */
|
||||
.data : AT(ADDR(.data) - LOAD_OFFSET) {
|
||||
/* Start of data section */
|
||||
_sdata = .;
|
||||
|
||||
/* init_task */
|
||||
INIT_TASK_DATA(THREAD_SIZE)
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
/* 32 bit has nosave before _edata */
|
||||
NOSAVE_DATA
|
||||
#endif
|
||||
|
||||
PAGE_ALIGNED_DATA(PAGE_SIZE)
|
||||
|
||||
CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
|
||||
|
||||
DATA_DATA
|
||||
CONSTRUCTORS
|
||||
|
||||
/* rarely changed data like cpu maps */
|
||||
READ_MOSTLY_DATA(INTERNODE_CACHE_BYTES)
|
||||
|
||||
/* End of data section */
|
||||
_edata = .;
|
||||
} :data
|
||||
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__vvar_page = .;
|
||||
|
||||
.vvar : AT(ADDR(.vvar) - LOAD_OFFSET) {
|
||||
/* work around gold bug 13023 */
|
||||
__vvar_beginning_hack = .;
|
||||
|
||||
/* Place all vvars at the offsets in asm/vvar.h. */
|
||||
#define EMIT_VVAR(name, offset) \
|
||||
. = __vvar_beginning_hack + offset; \
|
||||
*(.vvar_ ## name)
|
||||
#define __VVAR_KERNEL_LDS
|
||||
#include <asm/vvar.h>
|
||||
#undef __VVAR_KERNEL_LDS
|
||||
#undef EMIT_VVAR
|
||||
|
||||
/*
|
||||
* Pad the rest of the page with zeros. Otherwise the loader
|
||||
* can leave garbage here.
|
||||
*/
|
||||
. = __vvar_beginning_hack + PAGE_SIZE;
|
||||
} :data
|
||||
|
||||
. = ALIGN(__vvar_page + PAGE_SIZE, PAGE_SIZE);
|
||||
|
||||
/* Init code and data - will be freed after init */
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
.init.begin : AT(ADDR(.init.begin) - LOAD_OFFSET) {
|
||||
__init_begin = .; /* paired with __init_end */
|
||||
}
|
||||
|
||||
#if defined(CONFIG_X86_64) && defined(CONFIG_SMP)
|
||||
/*
|
||||
* percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the
|
||||
* output PHDR, so the next output section - .init.text - should
|
||||
* start another segment - init.
|
||||
*/
|
||||
PERCPU_VADDR(INTERNODE_CACHE_BYTES, 0, :percpu)
|
||||
ASSERT(SIZEOF(.data..percpu) < CONFIG_PHYSICAL_START,
|
||||
"per-CPU data too large - increase CONFIG_PHYSICAL_START")
|
||||
#endif
|
||||
|
||||
INIT_TEXT_SECTION(PAGE_SIZE)
|
||||
#ifdef CONFIG_X86_64
|
||||
:init
|
||||
#endif
|
||||
|
||||
INIT_DATA_SECTION(16)
|
||||
|
||||
.x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
|
||||
__x86_cpu_dev_start = .;
|
||||
*(.x86_cpu_dev.init)
|
||||
__x86_cpu_dev_end = .;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_INTEL_MID
|
||||
.x86_intel_mid_dev.init : AT(ADDR(.x86_intel_mid_dev.init) - \
|
||||
LOAD_OFFSET) {
|
||||
__x86_intel_mid_dev_start = .;
|
||||
*(.x86_intel_mid_dev.init)
|
||||
__x86_intel_mid_dev_end = .;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* start address and size of operations which during runtime
|
||||
* can be patched with virtualization friendly instructions or
|
||||
* baremetal native ones. Think page table operations.
|
||||
* Details in paravirt_types.h
|
||||
*/
|
||||
. = ALIGN(8);
|
||||
.parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
|
||||
__parainstructions = .;
|
||||
*(.parainstructions)
|
||||
__parainstructions_end = .;
|
||||
}
|
||||
|
||||
/*
|
||||
* struct alt_inst entries. From the header (alternative.h):
|
||||
* "Alternative instructions for different CPU types or capabilities"
|
||||
* Think locking instructions on spinlocks.
|
||||
*/
|
||||
. = ALIGN(8);
|
||||
.altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
|
||||
__alt_instructions = .;
|
||||
*(.altinstructions)
|
||||
__alt_instructions_end = .;
|
||||
}
|
||||
|
||||
/*
|
||||
* And here are the replacement instructions. The linker sticks
|
||||
* them as binary blobs. The .altinstructions has enough data to
|
||||
* get the address and the length of them to patch the kernel safely.
|
||||
*/
|
||||
.altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
|
||||
*(.altinstr_replacement)
|
||||
}
|
||||
|
||||
/*
|
||||
* struct iommu_table_entry entries are injected in this section.
|
||||
* It is an array of IOMMUs which during run time gets sorted depending
|
||||
* on its dependency order. After rootfs_initcall is complete
|
||||
* this section can be safely removed.
|
||||
*/
|
||||
.iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) {
|
||||
__iommu_table = .;
|
||||
*(.iommu_table)
|
||||
__iommu_table_end = .;
|
||||
}
|
||||
|
||||
. = ALIGN(8);
|
||||
.apicdrivers : AT(ADDR(.apicdrivers) - LOAD_OFFSET) {
|
||||
__apicdrivers = .;
|
||||
*(.apicdrivers);
|
||||
__apicdrivers_end = .;
|
||||
}
|
||||
|
||||
. = ALIGN(8);
|
||||
/*
|
||||
* .exit.text is discard at runtime, not link time, to deal with
|
||||
* references from .altinstructions and .eh_frame
|
||||
*/
|
||||
.exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) {
|
||||
EXIT_TEXT
|
||||
}
|
||||
|
||||
.exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) {
|
||||
EXIT_DATA
|
||||
}
|
||||
|
||||
#if !defined(CONFIG_X86_64) || !defined(CONFIG_SMP)
|
||||
PERCPU_SECTION(INTERNODE_CACHE_BYTES)
|
||||
#endif
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
|
||||
/* freed after init ends here */
|
||||
.init.end : AT(ADDR(.init.end) - LOAD_OFFSET) {
|
||||
__init_end = .;
|
||||
}
|
||||
|
||||
/*
|
||||
* smp_locks might be freed after init
|
||||
* start/end must be page aligned
|
||||
*/
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
.smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
|
||||
__smp_locks = .;
|
||||
*(.smp_locks)
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__smp_locks_end = .;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
.data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
|
||||
NOSAVE_DATA
|
||||
}
|
||||
#endif
|
||||
|
||||
/* BSS */
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
.bss : AT(ADDR(.bss) - LOAD_OFFSET) {
|
||||
__bss_start = .;
|
||||
*(.bss..page_aligned)
|
||||
*(.bss)
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__bss_stop = .;
|
||||
}
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
.brk : AT(ADDR(.brk) - LOAD_OFFSET) {
|
||||
__brk_base = .;
|
||||
. += 64 * 1024; /* 64k alignment slop space */
|
||||
*(.brk_reservation) /* areas brk users have reserved */
|
||||
__brk_limit = .;
|
||||
}
|
||||
|
||||
_end = .;
|
||||
|
||||
STABS_DEBUG
|
||||
DWARF_DEBUG
|
||||
|
||||
/* Sections to be discarded */
|
||||
DISCARDS
|
||||
/DISCARD/ : { *(.eh_frame) }
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
/*
|
||||
* The ASSERT() sink to . is intentional, for binutils 2.14 compatibility:
|
||||
*/
|
||||
. = ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE),
|
||||
"kernel image bigger than KERNEL_IMAGE_SIZE");
|
||||
#else
|
||||
/*
|
||||
* Per-cpu symbols which need to be offset from __per_cpu_load
|
||||
* for the boot processor.
|
||||
*/
|
||||
#define INIT_PER_CPU(x) init_per_cpu__##x = x + __per_cpu_load
|
||||
INIT_PER_CPU(gdt_page);
|
||||
INIT_PER_CPU(irq_stack_union);
|
||||
|
||||
/*
|
||||
* Build-time check on the image size:
|
||||
*/
|
||||
. = ASSERT((_end - _text <= KERNEL_IMAGE_SIZE),
|
||||
"kernel image bigger than KERNEL_IMAGE_SIZE");
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
. = ASSERT((irq_stack_union == 0),
|
||||
"irq_stack_union is not at start of per-cpu area");
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_X86_32 */
|
||||
|
||||
#ifdef CONFIG_KEXEC
|
||||
#include <asm/kexec.h>
|
||||
|
||||
. = ASSERT(kexec_control_code_size <= KEXEC_CONTROL_CODE_MAX_SIZE,
|
||||
"kexec control code size is too big");
|
||||
#endif
|
||||
|
||||
2
samples/Linux Kernel Module/bcm4334x.mod
Normal file
2
samples/Linux Kernel Module/bcm4334x.mod
Normal file
@@ -0,0 +1,2 @@
|
||||
/data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcm4334x.ko
|
||||
/data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_pno.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_common.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_ip.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_custom_gpio.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_sched.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_cfg80211.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_wq.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/aiutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmevent.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmwifi_channels.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/hndpmu.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/linux_osl.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/sbutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/siutils.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_android.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfg80211.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfgp2p.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_cfg_btcoex.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wldev_common.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/wl_linux_mon.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_linux_platdev.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_sdmmc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/bcmsdh_sdmmc_linux.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_cdc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_wlfc.o /data/israel/edison/poky/meta-edison/recipes-kernel/bcm43340/driver_bcm43x/dhd_sdio.o
|
||||
2
samples/Linux Kernel Module/mbcache.mod
Normal file
2
samples/Linux Kernel Module/mbcache.mod
Normal file
@@ -0,0 +1,2 @@
|
||||
fs/mbcache.ko
|
||||
fs/mbcache.o
|
||||
2
samples/Linux Kernel Module/md5.mod
Normal file
2
samples/Linux Kernel Module/md5.mod
Normal file
@@ -0,0 +1,2 @@
|
||||
crypto/md5.ko
|
||||
crypto/md5.o
|
||||
23
samples/Makefile/filenames/Kbuild
Normal file
23
samples/Makefile/filenames/Kbuild
Normal file
@@ -0,0 +1,23 @@
|
||||
# Fail on warnings - also for files referenced in subdirs
|
||||
# -Werror can be disabled for specific files using:
|
||||
# CFLAGS_<file.o> := -Wno-error
|
||||
subdir-ccflags-y := -Werror
|
||||
|
||||
# platform specific definitions
|
||||
include arch/mips/Kbuild.platforms
|
||||
obj-y := $(platform-y)
|
||||
|
||||
# make clean traverses $(obj-) without having included .config, so
|
||||
# everything ends up here
|
||||
obj- := $(platform-)
|
||||
|
||||
# mips object files
|
||||
# The object files are linked as core-y files would be linked
|
||||
|
||||
obj-y += kernel/
|
||||
obj-y += mm/
|
||||
obj-y += net/
|
||||
|
||||
ifdef CONFIG_KVM
|
||||
obj-y += kvm/
|
||||
endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user