gitlab-pygments.rb 0.3.2 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +71 -0
- data/Gemfile +1 -1
- data/LICENSE +17 -0
- data/README.md +28 -1
- data/Rakefile +2 -5
- data/lexers +0 -0
- data/lib/pygments/mentos.py +19 -12
- data/lib/pygments/popen.rb +21 -4
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -0
- data/test/test_pygments.rb +13 -2
- data/vendor/custom_lexers/github.py +206 -3
- data/vendor/pygments-main/AUTHORS +41 -3
- data/vendor/pygments-main/CHANGES +132 -5
- data/vendor/pygments-main/LICENSE +1 -1
- data/vendor/pygments-main/Makefile +1 -1
- data/vendor/pygments-main/REVISION +1 -1
- data/vendor/pygments-main/docs/generate.py +1 -1
- data/vendor/pygments-main/docs/src/api.txt +1 -1
- data/vendor/pygments-main/docs/src/index.txt +1 -1
- data/vendor/pygments-main/docs/src/integrate.txt +5 -0
- data/vendor/pygments-main/docs/src/java.txt +70 -0
- data/vendor/pygments-main/docs/src/lexerdevelopment.txt +52 -0
- data/vendor/pygments-main/external/autopygmentize +64 -0
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
- data/vendor/pygments-main/external/markdown-processor.py +2 -2
- data/vendor/pygments-main/external/moin-parser.py +1 -1
- data/vendor/pygments-main/external/rst-directive-old.py +1 -1
- data/vendor/pygments-main/external/rst-directive.py +1 -1
- data/vendor/pygments-main/pygmentize +1 -1
- data/vendor/pygments-main/pygments/__init__.py +2 -2
- data/vendor/pygments-main/pygments/cmdline.py +14 -6
- data/vendor/pygments-main/pygments/console.py +1 -1
- data/vendor/pygments-main/pygments/filter.py +1 -1
- data/vendor/pygments-main/pygments/filters/__init__.py +3 -4
- data/vendor/pygments-main/pygments/formatter.py +4 -1
- data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
- data/vendor/pygments-main/pygments/formatters/_mapping.py +3 -3
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +73 -2
- data/vendor/pygments-main/pygments/formatters/img.py +2 -2
- data/vendor/pygments-main/pygments/formatters/latex.py +9 -9
- data/vendor/pygments-main/pygments/formatters/other.py +1 -3
- data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
- data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
- data/vendor/pygments-main/pygments/lexer.py +78 -10
- data/vendor/pygments-main/pygments/lexers/__init__.py +13 -2
- data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
- data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mapping.py +92 -36
- data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
- data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +2 -2
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +4 -3
- data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +11 -0
- data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -3
- data/vendor/pygments-main/pygments/lexers/agile.py +525 -38
- data/vendor/pygments-main/pygments/lexers/asm.py +45 -7
- data/vendor/pygments-main/pygments/lexers/compiled.py +1257 -425
- data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +97 -62
- data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +931 -32
- data/vendor/pygments-main/pygments/lexers/github.py +206 -3
- data/vendor/pygments-main/pygments/lexers/hdl.py +3 -3
- data/vendor/pygments-main/pygments/lexers/jvm.py +309 -44
- data/vendor/pygments-main/pygments/lexers/math.py +876 -30
- data/vendor/pygments-main/pygments/lexers/other.py +956 -517
- data/vendor/pygments-main/pygments/lexers/parsers.py +85 -2
- data/vendor/pygments-main/pygments/lexers/shell.py +81 -18
- data/vendor/pygments-main/pygments/lexers/special.py +1 -1
- data/vendor/pygments-main/pygments/lexers/sql.py +2 -2
- data/vendor/pygments-main/pygments/lexers/templates.py +119 -8
- data/vendor/pygments-main/pygments/lexers/text.py +155 -15
- data/vendor/pygments-main/pygments/lexers/web.py +1578 -397
- data/vendor/pygments-main/pygments/modeline.py +40 -0
- data/vendor/pygments-main/pygments/plugin.py +1 -1
- data/vendor/pygments-main/pygments/scanner.py +1 -1
- data/vendor/pygments-main/pygments/style.py +1 -1
- data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
- data/vendor/pygments-main/pygments/styles/borland.py +1 -1
- data/vendor/pygments-main/pygments/styles/bw.py +1 -1
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
- data/vendor/pygments-main/pygments/styles/default.py +1 -1
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
- data/vendor/pygments-main/pygments/styles/native.py +1 -1
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
- data/vendor/pygments-main/pygments/styles/tango.py +1 -1
- data/vendor/pygments-main/pygments/styles/trac.py +1 -1
- data/vendor/pygments-main/pygments/styles/vim.py +1 -1
- data/vendor/pygments-main/pygments/styles/vs.py +1 -1
- data/vendor/pygments-main/pygments/token.py +1 -1
- data/vendor/pygments-main/pygments/unistring.py +36 -26
- data/vendor/pygments-main/pygments/util.py +46 -1
- data/vendor/pygments-main/scripts/check_sources.py +2 -2
- data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +2 -0
- data/vendor/pygments-main/scripts/find_codetags.py +1 -1
- data/vendor/pygments-main/scripts/find_error.py +5 -6
- data/vendor/pygments-main/setup.cfg +1 -0
- data/vendor/pygments-main/setup.py +6 -4
- data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
- data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
- data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
- data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
- data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
- data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
- data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
- data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
- data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +89 -4
- data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
- data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
- data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
- data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
- data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
- data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
- data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
- data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
- data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
- data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
- data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
- data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
- data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
- data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
- data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
- data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
- data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
- data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
- data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
- data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
- data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
- data/vendor/pygments-main/tests/examplefiles/http_request_example +2 -1
- data/vendor/pygments-main/tests/examplefiles/http_response_example +4 -2
- data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
- data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
- data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_sample +5 -2
- data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
- data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
- data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
- data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example.m +7 -0
- data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
- data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
- data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
- data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
- data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
- data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
- data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
- data/vendor/pygments-main/tests/examplefiles/test.R +149 -115
- data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
- data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
- data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
- data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
- data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
- data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
- data/vendor/pygments-main/tests/examplefiles/type.lisp +16 -0
- data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
- data/vendor/pygments-main/tests/old_run.py +1 -1
- data/vendor/pygments-main/tests/run.py +3 -2
- data/vendor/pygments-main/tests/support/tags +36 -0
- data/vendor/pygments-main/tests/test_basic_api.py +4 -3
- data/vendor/pygments-main/tests/test_clexer.py +1 -1
- data/vendor/pygments-main/tests/test_cmdline.py +1 -1
- data/vendor/pygments-main/tests/test_examplefiles.py +3 -1
- data/vendor/pygments-main/tests/test_html_formatter.py +17 -1
- data/vendor/pygments-main/tests/test_latex_formatter.py +1 -1
- data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
- data/vendor/pygments-main/tests/test_perllexer.py +1 -1
- data/vendor/pygments-main/tests/test_regexlexer.py +1 -1
- data/vendor/pygments-main/tests/test_token.py +1 -1
- data/vendor/pygments-main/tests/test_using_api.py +1 -1
- data/vendor/pygments-main/tests/test_util.py +22 -3
- metadata +84 -16
@@ -0,0 +1,102 @@
|
|
1
|
+
-- An Agda example file
|
2
|
+
|
3
|
+
module test where
|
4
|
+
|
5
|
+
open import Coinduction
|
6
|
+
open import Data.Bool
|
7
|
+
open import {- pointless comment between import and module name -} Data.Char
|
8
|
+
open import Data.Nat
|
9
|
+
open import Data.Nat.Properties
|
10
|
+
open import Data.String
|
11
|
+
open import Data.List hiding ([_])
|
12
|
+
open import Data.Vec hiding ([_])
|
13
|
+
open import Relation.Nullary.Core
|
14
|
+
open import Relation.Binary.PropositionalEquality using (_≡_; refl; cong; trans; inspect; [_])
|
15
|
+
|
16
|
+
open SemiringSolver
|
17
|
+
|
18
|
+
{- this is a {- nested -} comment -}
|
19
|
+
|
20
|
+
-- Factorial
|
21
|
+
_! : ℕ → ℕ
|
22
|
+
0 ! = 1
|
23
|
+
(suc n) ! = (suc n) * n !
|
24
|
+
|
25
|
+
-- The binomial coefficient
|
26
|
+
_choose_ : ℕ → ℕ → ℕ
|
27
|
+
_ choose 0 = 1
|
28
|
+
0 choose _ = 0
|
29
|
+
(suc n) choose (suc m) = (n choose m) + (n choose (suc m)) -- Pascal's rule
|
30
|
+
|
31
|
+
choose-too-many : ∀ n m → n ≤ m → n choose (suc m) ≡ 0
|
32
|
+
choose-too-many .0 m z≤n = refl
|
33
|
+
choose-too-many (suc n) (suc m) (s≤s le) with n choose (suc m) | choose-too-many n m le | n choose (suc (suc m)) | choose-too-many n (suc m) (≤-step le)
|
34
|
+
... | .0 | refl | .0 | refl = refl
|
35
|
+
|
36
|
+
_++'_ : ∀ {a n m} {A : Set a} → Vec A n → Vec A m → Vec A (m + n)
|
37
|
+
_++'_ {_} {n} {m} v₁ v₂ rewrite solve 2 (λ a b → b :+ a := a :+ b) refl n m = v₁ Data.Vec.++ v₂
|
38
|
+
|
39
|
+
++'-test : (1 ∷ 2 ∷ 3 ∷ []) ++' (4 ∷ 5 ∷ []) ≡ (1 ∷ 2 ∷ 3 ∷ 4 ∷ 5 ∷ [])
|
40
|
+
++'-test = refl
|
41
|
+
|
42
|
+
data Coℕ : Set where
|
43
|
+
co0 : Coℕ
|
44
|
+
cosuc : ∞ Coℕ → Coℕ
|
45
|
+
|
46
|
+
nanana : Coℕ
|
47
|
+
nanana = let two = ♯ cosuc (♯ (cosuc (♯ co0))) in cosuc two
|
48
|
+
|
49
|
+
abstract
|
50
|
+
data VacuumCleaner : Set where
|
51
|
+
Roomba : VacuumCleaner
|
52
|
+
|
53
|
+
pointlessLemmaAboutBoolFunctions : (f : Bool → Bool) → f (f (f true)) ≡ f true
|
54
|
+
pointlessLemmaAboutBoolFunctions f with f true | inspect f true
|
55
|
+
... | true | [ eq₁ ] = trans (cong f eq₁) eq₁
|
56
|
+
... | false | [ eq₁ ] with f false | inspect f false
|
57
|
+
... | true | _ = eq₁
|
58
|
+
... | false | [ eq₂ ] = eq₂
|
59
|
+
|
60
|
+
mutual
|
61
|
+
isEven : ℕ → Bool
|
62
|
+
isEven 0 = true
|
63
|
+
isEven (suc n) = not (isOdd n)
|
64
|
+
|
65
|
+
isOdd : ℕ → Bool
|
66
|
+
isOdd 0 = false
|
67
|
+
isOdd (suc n) = not (isEven n)
|
68
|
+
|
69
|
+
foo : String
|
70
|
+
foo = "Hello World!"
|
71
|
+
|
72
|
+
nl : Char
|
73
|
+
nl = '\n'
|
74
|
+
|
75
|
+
private
|
76
|
+
intersperseString : Char → List String → String
|
77
|
+
intersperseString c [] = ""
|
78
|
+
intersperseString c (x ∷ xs) = Data.List.foldl (λ a b → a Data.String.++ Data.String.fromList (c ∷ []) Data.String.++ b) x xs
|
79
|
+
|
80
|
+
baz : String
|
81
|
+
baz = intersperseString nl (Data.List.replicate 5 foo)
|
82
|
+
|
83
|
+
postulate
|
84
|
+
Float : Set
|
85
|
+
|
86
|
+
{-# BUILTIN FLOAT Float #-}
|
87
|
+
|
88
|
+
pi : Float
|
89
|
+
pi = 3.141593
|
90
|
+
|
91
|
+
-- Astronomical unit
|
92
|
+
au : Float
|
93
|
+
au = 1.496e11 -- m
|
94
|
+
|
95
|
+
plusFloat : Float → Float → Float
|
96
|
+
plusFloat a b = {! !}
|
97
|
+
|
98
|
+
record Subset (A : Set) (P : A → Set) : Set where
|
99
|
+
constructor _#_
|
100
|
+
field
|
101
|
+
elem : A
|
102
|
+
.proof : P elem
|
@@ -0,0 +1,95 @@
|
|
1
|
+
|
2
|
+
;foobar!
|
3
|
+
|
4
|
+
;Include "blurg/blurg.bb"
|
5
|
+
|
6
|
+
Const ca = $10000000 ; Hex
|
7
|
+
Const cb = %10101010 ; Binary
|
8
|
+
Global ga$ = "blargh"
|
9
|
+
Local a = 124, b$ = "abcdef"
|
10
|
+
|
11
|
+
Function name_123#(zorp$, ll = False, blah#, waffles% = 100)
|
12
|
+
Return 235.7804 ; comment
|
13
|
+
End Function
|
14
|
+
Function TestString$()
|
15
|
+
End Function
|
16
|
+
|
17
|
+
Function hub(blah$, abc = Pi)
|
18
|
+
End Function
|
19
|
+
Function Blar%()
|
20
|
+
Local aa %, ab # ,ac #, ad# ,ae$,af% ; Intentional mangling
|
21
|
+
Local ba#, bb.TBlarf , bc%,bd#,be. TFooBar,ff = True
|
22
|
+
End Function
|
23
|
+
|
24
|
+
abc()
|
25
|
+
|
26
|
+
Function abc()
|
27
|
+
Print "abc" ; I cannot find a way to parse these as function calls without messing something up
|
28
|
+
Print ; Anyhow, they're generally not used in this way
|
29
|
+
Goto Eww_Goto
|
30
|
+
.Eww_Goto
|
31
|
+
End Function
|
32
|
+
|
33
|
+
Type TBlarf
|
34
|
+
End Type
|
35
|
+
|
36
|
+
Type TFooBar
|
37
|
+
End Type
|
38
|
+
|
39
|
+
Local myinst.MyClass = New MyClass
|
40
|
+
TestMethod(myinst)
|
41
|
+
|
42
|
+
Type MyClass
|
43
|
+
|
44
|
+
Field m_foo.MyClass
|
45
|
+
Field m_bar.MyClass
|
46
|
+
|
47
|
+
; abc
|
48
|
+
; def
|
49
|
+
End Type
|
50
|
+
|
51
|
+
Function TestMethod(self.MyClass) ; foobar
|
52
|
+
self\m_foo = self
|
53
|
+
self\m_bar = Object.MyClass(Handle self\m_foo)
|
54
|
+
Yell self\m_foo\m_bar\m_foo\m_bar
|
55
|
+
End Function
|
56
|
+
|
57
|
+
Function Yell(self.MyClass)
|
58
|
+
Print("huzzah!")
|
59
|
+
End Function
|
60
|
+
|
61
|
+
Function Wakka$(foo$)
|
62
|
+
Return foo + "bar"
|
63
|
+
End Function
|
64
|
+
|
65
|
+
|
66
|
+
Print("blah " + "blah " + "blah.")
|
67
|
+
|
68
|
+
Local i : For i = 0 To 10 Step 1
|
69
|
+
Print("Index: " + i)
|
70
|
+
Next
|
71
|
+
Local array$[5]
|
72
|
+
array[0] = "foo": array[1] = "bar":array[2] = "11":array[3] = "22":array[4] = "33"
|
73
|
+
For i = 0 To 4
|
74
|
+
Local value$ = array[i]
|
75
|
+
Print("Value: " + value)
|
76
|
+
Next
|
77
|
+
|
78
|
+
Local foobar = Not (1 Or (2 And (4 Shl 5 Shr 6)) Sar 7) Mod (8+2)
|
79
|
+
Local az = 1234567890
|
80
|
+
az = az + 1
|
81
|
+
az = az - 2
|
82
|
+
az = az* 3
|
83
|
+
az = az/ 4
|
84
|
+
az = az And 5
|
85
|
+
az = az Or 6
|
86
|
+
az= ~ 7
|
87
|
+
az = az Shl 8
|
88
|
+
az= az Shr 9
|
89
|
+
az = az Sar 10
|
90
|
+
az = az Mod 11
|
91
|
+
az = ((10-5+2/4*2)>(((8^2)) < 2)) And 12 Or 2
|
92
|
+
|
93
|
+
|
94
|
+
;~IDEal Editor Parameters:
|
95
|
+
;~C#Blitz3D
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
|
3
|
+
// __device__ function
|
4
|
+
__device__ void func()
|
5
|
+
{
|
6
|
+
short* array0 = (short*)array;
|
7
|
+
float* array1 = (float*)&array0[127];
|
8
|
+
}
|
9
|
+
|
10
|
+
/* __global__ function */
|
11
|
+
__global__ static void reduction(const float* __restrict__ input, float *output, clock_t *timer)
|
12
|
+
{
|
13
|
+
// __shared__ float shared[2 * blockDim.x];
|
14
|
+
extern __shared__ float shared[];
|
15
|
+
|
16
|
+
const int tid = threadIdx.x;
|
17
|
+
const int bid = blockIdx.x;
|
18
|
+
|
19
|
+
if (threadIdx.x == 0) {
|
20
|
+
__threadfence();
|
21
|
+
}
|
22
|
+
|
23
|
+
// Perform reduction to find minimum.
|
24
|
+
for (int d = blockDim.x; d > 0; d /= 2)
|
25
|
+
{
|
26
|
+
__syncthreads();
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
int main(int argc, char **argv)
|
31
|
+
{
|
32
|
+
dim3 dimBlock(8, 8, 1);
|
33
|
+
|
34
|
+
timedReduction<<<dimBlock, 256, 256, 0>>>(dinput, doutput, dtimer);
|
35
|
+
cudaDeviceReset();
|
36
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
letter = "A" | "B" | "C" | "D" | "E" | "F" | "G"
|
2
|
+
| "H" | "I" | "J" | "K" | "L" | "M" | "N"
|
3
|
+
| "O" | "P" | "Q" | "R" | "S" | "T" | "U"
|
4
|
+
| "V" | "W" | "X" | "Y" | "Z" ;
|
5
|
+
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
|
6
|
+
symbol = "[" | "]" | "{" | "}" | "(" | ")" | "<" | ">"
|
7
|
+
| "'" | '"' | "=" | "|" | "." | "," | ";" ;
|
8
|
+
character = letter | digit | symbol | " " ;
|
9
|
+
|
10
|
+
identifier = letter , { letter | digit | " " } ;
|
11
|
+
terminal = "'" , character , { character } , "'"
|
12
|
+
| '"' , character , { character } , '"' ;
|
13
|
+
|
14
|
+
special = "?" , any , "?" ;
|
15
|
+
|
16
|
+
comment = (* this is a comment "" *) "(*" , any-symbol , "*)" ;
|
17
|
+
any-symbol = ? any visible character ? ; (* ? ... ? *)
|
18
|
+
|
19
|
+
lhs = identifier ;
|
20
|
+
rhs = identifier
|
21
|
+
| terminal
|
22
|
+
| comment , rhs
|
23
|
+
| rhs , comment
|
24
|
+
| "[" , rhs , "]"
|
25
|
+
| "{" , rhs , "}"
|
26
|
+
| "(" , rhs , ")"
|
27
|
+
| rhs , "|" , rhs
|
28
|
+
| rhs , "," , rhs ;
|
29
|
+
|
30
|
+
rule = lhs , "=" , rhs , ";" | comment ;
|
31
|
+
grammar = { rule } ;
|
@@ -0,0 +1,252 @@
|
|
1
|
+
#!/usr/bin/env perl6
|
2
|
+
|
3
|
+
use v6;
|
4
|
+
|
5
|
+
my $string = 'I look like a # comment!';
|
6
|
+
|
7
|
+
if $string eq 'foo' {
|
8
|
+
say 'hello';
|
9
|
+
}
|
10
|
+
|
11
|
+
regex http-verb {
|
12
|
+
'GET'
|
13
|
+
| 'POST'
|
14
|
+
| 'PUT'
|
15
|
+
| 'DELETE'
|
16
|
+
| 'TRACE'
|
17
|
+
| 'OPTIONS'
|
18
|
+
| 'HEAD'
|
19
|
+
}
|
20
|
+
|
21
|
+
# a sample comment
|
22
|
+
|
23
|
+
say 'Hello from Perl 6!'
|
24
|
+
|
25
|
+
|
26
|
+
#`{
|
27
|
+
multi-line comment!
|
28
|
+
}
|
29
|
+
|
30
|
+
say 'here';
|
31
|
+
|
32
|
+
#`(
|
33
|
+
multi-line comment!
|
34
|
+
)
|
35
|
+
|
36
|
+
say 'here';
|
37
|
+
|
38
|
+
#`{{{
|
39
|
+
I'm a special comment!
|
40
|
+
}}}
|
41
|
+
|
42
|
+
say 'there';
|
43
|
+
|
44
|
+
#`{{
|
45
|
+
I'm { even } specialer!
|
46
|
+
}}
|
47
|
+
|
48
|
+
say 'there';
|
49
|
+
|
50
|
+
#`{{
|
51
|
+
does {{nesting}} work?
|
52
|
+
}}
|
53
|
+
|
54
|
+
#`«<
|
55
|
+
trying mixed delimiters
|
56
|
+
»
|
57
|
+
|
58
|
+
my $string = qq<Hooray, arbitrary delimiter!>;
|
59
|
+
my $string = qq«Hooray, arbitrary delimiter!»;
|
60
|
+
my $string = q <now with whitespace!>;
|
61
|
+
my $string = qq<<more strings>>;
|
62
|
+
|
63
|
+
my %hash := Hash.new;
|
64
|
+
|
65
|
+
=begin pod
|
66
|
+
|
67
|
+
Here's some POD! Wooo
|
68
|
+
|
69
|
+
=end pod
|
70
|
+
|
71
|
+
=for Testing
|
72
|
+
This is POD (see? role isn't highlighted)
|
73
|
+
|
74
|
+
say('this is not!');
|
75
|
+
|
76
|
+
=table
|
77
|
+
Of role things
|
78
|
+
|
79
|
+
say('not in your table');
|
80
|
+
#= A single line declarator "block" (with a keyword like role)
|
81
|
+
#| Another single line declarator "block" (with a keyword like role)
|
82
|
+
#={
|
83
|
+
A declarator block (with a keyword like role)
|
84
|
+
}
|
85
|
+
#|{
|
86
|
+
Another declarator block (with a keyword like role)
|
87
|
+
}
|
88
|
+
#= { A single line declarator "block" with a brace (with a keyword like role)
|
89
|
+
#=«
|
90
|
+
More declarator blocks! (with a keyword like role)
|
91
|
+
»
|
92
|
+
#|«
|
93
|
+
More declarator blocks! (with a keyword like role)
|
94
|
+
»
|
95
|
+
|
96
|
+
say 'Moar code!';
|
97
|
+
|
98
|
+
my $don't = 16;
|
99
|
+
|
100
|
+
sub don't($x) {
|
101
|
+
!$x
|
102
|
+
}
|
103
|
+
|
104
|
+
say don't 'foo';
|
105
|
+
|
106
|
+
my %hash = (
|
107
|
+
:foo(1),
|
108
|
+
);
|
109
|
+
|
110
|
+
say %hash<foo>;
|
111
|
+
say %hash<<foo>>;
|
112
|
+
say %hash«foo»;
|
113
|
+
|
114
|
+
say %*hash<foo>;
|
115
|
+
say %*hash<<foo>>;
|
116
|
+
say %*hash«foo»;
|
117
|
+
|
118
|
+
say $<todo>;
|
119
|
+
say $<todo>;
|
120
|
+
|
121
|
+
for (@A Z @B) -> $a, $b {
|
122
|
+
say $a + $b;
|
123
|
+
}
|
124
|
+
|
125
|
+
Q:PIR {
|
126
|
+
.loadlib "somelib"
|
127
|
+
}
|
128
|
+
|
129
|
+
my $longstring = q/
|
130
|
+
lots
|
131
|
+
of
|
132
|
+
text
|
133
|
+
/;
|
134
|
+
|
135
|
+
my $heredoc = q:to/END_SQL/;
|
136
|
+
SELECT * FROM Users
|
137
|
+
WHERE first_name = 'Rob'
|
138
|
+
END_SQL
|
139
|
+
my $hello;
|
140
|
+
|
141
|
+
# Fun with regexen
|
142
|
+
|
143
|
+
if 'food' ~~ /foo/ {
|
144
|
+
say 'match!'
|
145
|
+
}
|
146
|
+
|
147
|
+
my $re = /foo/;
|
148
|
+
my $re2 = m/ foo /;
|
149
|
+
my $re3 = m:i/ FOO /;
|
150
|
+
|
151
|
+
call-a-sub(/ foo /);
|
152
|
+
call-a-sub(/ foo \/ bar /);
|
153
|
+
|
154
|
+
my $re4 = rx/something | something-else/;
|
155
|
+
my $result = ms/regexy stuff/;
|
156
|
+
my $sub0 = s/regexy stuff/more stuff/;
|
157
|
+
my $sub = ss/regexy stuff/more stuff/;
|
158
|
+
my $trans = tr/regexy stuff/more stuff/;
|
159
|
+
|
160
|
+
my @values = <a b c d>;
|
161
|
+
call-sub(<a b c d>);
|
162
|
+
call-sub <a b c d>;
|
163
|
+
|
164
|
+
my $result = $a < $b;
|
165
|
+
|
166
|
+
for <a b c d> -> $letter {
|
167
|
+
say $letter;
|
168
|
+
}
|
169
|
+
|
170
|
+
sub test-sub {
|
171
|
+
say @_;
|
172
|
+
say $!;
|
173
|
+
say $/;
|
174
|
+
say $0;
|
175
|
+
say $1;
|
176
|
+
say @*ARGS;
|
177
|
+
say $*ARGFILES;
|
178
|
+
say &?BLOCK;
|
179
|
+
say ::?CLASS;
|
180
|
+
say $?CLASS;
|
181
|
+
say @=COMMENT;
|
182
|
+
say %?CONFIG;
|
183
|
+
say $*CWD;
|
184
|
+
say $=data;
|
185
|
+
say %?DEEPMAGIC;
|
186
|
+
say $?DISTRO;
|
187
|
+
say $*DISTRO;
|
188
|
+
say $*EGID;
|
189
|
+
say %*ENV;
|
190
|
+
say $*ERR;
|
191
|
+
say $*EUID;
|
192
|
+
say $*EXECUTABLE_NAME;
|
193
|
+
say $?FILE;
|
194
|
+
say $?GRAMMAR;
|
195
|
+
say $*GID;
|
196
|
+
say $*IN;
|
197
|
+
say @*INC;
|
198
|
+
say %?LANG;
|
199
|
+
say $*LANG;
|
200
|
+
say $?LINE;
|
201
|
+
say %*META-ARGS;
|
202
|
+
say $?MODULE;
|
203
|
+
say %*OPTS;
|
204
|
+
say %*OPT;
|
205
|
+
say $?KERNEL;
|
206
|
+
say $*KERNEL;
|
207
|
+
say $*OUT;
|
208
|
+
say $?PACKAGE;
|
209
|
+
say $?PERL;
|
210
|
+
say $*PERL;
|
211
|
+
say $*PID;
|
212
|
+
say %=pod;
|
213
|
+
say $*PROGRAM_NAME;
|
214
|
+
say %*PROTOCOLS;
|
215
|
+
say ::?ROLE;
|
216
|
+
say $?ROLE;
|
217
|
+
say &?ROUTINE;
|
218
|
+
say $?SCOPE;
|
219
|
+
say $*TZ;
|
220
|
+
say $*UID;
|
221
|
+
say $?USAGE;
|
222
|
+
say $?VM;
|
223
|
+
say $?XVM;
|
224
|
+
}
|
225
|
+
|
226
|
+
say <a b c>;
|
227
|
+
|
228
|
+
my $perl5_re = m:P5/ fo{2} /;
|
229
|
+
my $re5 = rx«something | something-else»;
|
230
|
+
|
231
|
+
my $M := %*COMPILING<%?OPTIONS><M>;
|
232
|
+
|
233
|
+
say $M;
|
234
|
+
|
235
|
+
sub regex-name { ... }
|
236
|
+
my $pair = role-name => 'foo';
|
237
|
+
$pair = rolesque => 'foo';
|
238
|
+
|
239
|
+
my sub something(Str:D $value) { ... }
|
240
|
+
|
241
|
+
my $s = q«<
|
242
|
+
some
|
243
|
+
string
|
244
|
+
stuff
|
245
|
+
»;
|
246
|
+
|
247
|
+
my $regex = m«< some chars »;
|
248
|
+
# after
|
249
|
+
|
250
|
+
say $/<foo><bar>;
|
251
|
+
|
252
|
+
roleq;
|