pygments.rb 0.2.4 → 0.2.6
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.
- data/lib/pygments/version.rb +1 -1
- data/vendor/pygments-main/AUTHORS +14 -0
- data/vendor/pygments-main/CHANGES +34 -3
- data/vendor/pygments-main/Makefile +1 -1
- data/vendor/pygments-main/docs/generate.py +1 -1
- data/vendor/pygments-main/external/markdown-processor.py +1 -1
- 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/pygments/__init__.py +1 -1
- data/vendor/pygments-main/pygments/cmdline.py +4 -1
- 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 +1 -1
- data/vendor/pygments-main/pygments/formatter.py +1 -1
- data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -1
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +2 -2
- data/vendor/pygments-main/pygments/formatters/img.py +1 -1
- data/vendor/pygments-main/pygments/formatters/latex.py +3 -2
- data/vendor/pygments-main/pygments/formatters/other.py +1 -1
- 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 +5 -2
- data/vendor/pygments-main/pygments/formatters/terminal256.py +5 -2
- data/vendor/pygments-main/pygments/lexer.py +29 -10
- data/vendor/pygments-main/pygments/lexers/__init__.py +14 -11
- 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/_luabuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mapping.py +41 -23
- data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +29 -0
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/agile.py +148 -443
- data/vendor/pygments-main/pygments/lexers/asm.py +5 -3
- data/vendor/pygments-main/pygments/lexers/compiled.py +298 -294
- data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -34
- data/vendor/pygments-main/pygments/lexers/functional.py +723 -4
- data/vendor/pygments-main/pygments/lexers/hdl.py +228 -6
- data/vendor/pygments-main/pygments/lexers/jvm.py +678 -0
- data/vendor/pygments-main/pygments/lexers/math.py +65 -2
- data/vendor/pygments-main/pygments/lexers/other.py +875 -481
- data/vendor/pygments-main/pygments/lexers/parsers.py +1 -1
- data/vendor/pygments-main/pygments/lexers/shell.py +360 -0
- data/vendor/pygments-main/pygments/lexers/special.py +1 -1
- data/vendor/pygments-main/pygments/lexers/sql.py +565 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +1 -1
- data/vendor/pygments-main/pygments/lexers/text.py +237 -100
- data/vendor/pygments-main/pygments/lexers/web.py +146 -10
- 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 +2 -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 -2
- 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 +33 -0
- 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 +1 -1
- data/vendor/pygments-main/pygments/util.py +2 -2
- data/vendor/pygments-main/scripts/check_sources.py +2 -2
- data/vendor/pygments-main/scripts/find_codetags.py +1 -1
- data/vendor/pygments-main/scripts/find_error.py +5 -2
- data/vendor/pygments-main/scripts/get_vimkw.py +9 -4
- data/vendor/pygments-main/setup.py +1 -1
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +16 -0
- data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
- data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
- data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
- data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
- data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
- data/vendor/pygments-main/tests/examplefiles/http_request_example +14 -0
- data/vendor/pygments-main/tests/examplefiles/http_response_example +27 -0
- data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
- data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
- data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +4 -2
- data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
- data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
- data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
- data/vendor/pygments-main/tests/examplefiles/test.cs +23 -0
- data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
- data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
- data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
- data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
- data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
- data/vendor/pygments-main/tests/old_run.py +1 -1
- data/vendor/pygments-main/tests/run.py +1 -1
- 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 +4 -3
- data/vendor/pygments-main/tests/test_html_formatter.py +33 -1
- data/vendor/pygments-main/tests/test_latex_formatter.py +1 -1
- data/vendor/pygments-main/tests/test_perllexer.py +137 -0
- 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 +35 -5
- metadata +30 -4
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
<#
|
|
2
|
+
.SYNOPSIS
|
|
3
|
+
Runs a T-SQL Query and optional outputs results to a delimited file.
|
|
4
|
+
.DESCRIPTION
|
|
5
|
+
Invoke-Sql script will run a T-SQL query or stored procedure and optionally outputs a delimited file.
|
|
6
|
+
.EXAMPLE
|
|
7
|
+
PowerShell.exe -File "C:\Scripts\Invoke-Sql.ps1" -ServerInstance "Z003\sqlprod2" -Database orders -Query "EXEC usp_accounts '12445678'"
|
|
8
|
+
This example connects to Z003\sqlprod2.Orders and executes a stored procedure which does not return a result set
|
|
9
|
+
.EXAMPLE
|
|
10
|
+
PowerShell.exe -File "C:\Scripts\Invoke-Sql.ps1" -ServerInstance "Z003\sqlprod2" -Database orders -Query "SELECT * FROM dbo.accounts" -FilePath "C:\Scripts\accounts.txt" -Delimiter ","
|
|
11
|
+
This example connects to Z003\sqlprod2.Orders and selects the records from the accounts tables, the data is outputed to a CSV file
|
|
12
|
+
.NOTES
|
|
13
|
+
Version History
|
|
14
|
+
v1.0 - Chad Miller - 12/14/2010 - Initial release
|
|
15
|
+
IMPORTANT!!! The EventLog source which is set to the application needs to be registered with
|
|
16
|
+
the Event log:
|
|
17
|
+
New-EventLog -LogName Application -Source $Application
|
|
18
|
+
#>
|
|
19
|
+
param(
|
|
20
|
+
#ServerInstance is Mandatory!
|
|
21
|
+
[Parameter(Position=0, Mandatory=$false)] [string]$ServerInstance,
|
|
22
|
+
#Database is Mandatory!
|
|
23
|
+
[Parameter(Position=1, Mandatory=$false)] [string]$Database,
|
|
24
|
+
#Query is Mandatory!
|
|
25
|
+
[Parameter(Position=2, Mandatory=$false)] [string]$Query,
|
|
26
|
+
[Parameter(Position=3, Mandatory=$false)] [string]$Application="Invoke-Sql.ps1",
|
|
27
|
+
[Parameter(Position=4, Mandatory=$false)] [string]$FilePath,
|
|
28
|
+
[Parameter(Position=7, Mandatory=$false)] [string]$Delimiter="|",
|
|
29
|
+
#If UserName isn't supplied a trusted connection will be used
|
|
30
|
+
[Parameter(Position=5, Mandatory=$false)] [string]$UserName,
|
|
31
|
+
[Parameter(Position=6, Mandatory=$false)] [string]$Password,
|
|
32
|
+
[Parameter(Position=8, Mandatory=$false)] [Int32]$QueryTimeout=600,
|
|
33
|
+
[Parameter(Position=9, Mandatory=$false)] [Int32]$ConnectionTimeout=15
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
#This must be run as administrator on Windows 2008 and higher!
|
|
38
|
+
New-EventLog -LogName Application -Source $Application -EA SilentlyContinue
|
|
39
|
+
$Error.Clear()
|
|
40
|
+
|
|
41
|
+
#######################
|
|
42
|
+
function Invoke-SqlCmd2
|
|
43
|
+
{
|
|
44
|
+
param(
|
|
45
|
+
[Parameter(Position=0, Mandatory=$true)] [string]$ServerInstance,
|
|
46
|
+
[Parameter(Position=1, Mandatory=$true)] [string]$Database,
|
|
47
|
+
[Parameter(Position=2, Mandatory=$true)] [string]$Query,
|
|
48
|
+
[Parameter(Position=3, Mandatory=$false)] [string]$UserName,
|
|
49
|
+
[Parameter(Position=4, Mandatory=$false)] [string]$Password,
|
|
50
|
+
[Parameter(Position=5, Mandatory=$false)] [Int32]$QueryTimeout,
|
|
51
|
+
[Parameter(Position=6, Mandatory=$false)] [Int32]$ConnectionTimeout
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
try {
|
|
55
|
+
if ($Username)
|
|
56
|
+
{ $ConnectionString = "Server={0};Database={1};User ID={2};Password={3};Trusted_Connection=False;Connect Timeout={4}" -f $ServerInstance,$Database,$Username,$Password,$ConnectionTimeout }
|
|
57
|
+
else
|
|
58
|
+
{ $ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $ServerInstance,$Database,$ConnectionTimeout }
|
|
59
|
+
$conn=new-object System.Data.SqlClient.SQLConnection
|
|
60
|
+
$conn.ConnectionString=$ConnectionString
|
|
61
|
+
$conn.Open()
|
|
62
|
+
$cmd=new-object system.Data.SqlClient.SqlCommand($Query,$conn)
|
|
63
|
+
$cmd.CommandTimeout=$QueryTimeout
|
|
64
|
+
$ds=New-Object system.Data.DataSet
|
|
65
|
+
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
|
|
66
|
+
[void]$da.fill($ds)
|
|
67
|
+
Write-Output ($ds.Tables[0])
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
$conn.Dispose()
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
} #Invoke-SqlCmd2
|
|
74
|
+
|
|
75
|
+
#######################
|
|
76
|
+
# MAIN #
|
|
77
|
+
#######################
|
|
78
|
+
if ($PSBoundParameters.Count -eq 0)
|
|
79
|
+
{
|
|
80
|
+
get-help $myInvocation.MyCommand.Path -full
|
|
81
|
+
break
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
try {
|
|
85
|
+
$msg = $null
|
|
86
|
+
$msg += "Application/Job Name: $Application`n"
|
|
87
|
+
$msg += "Query: $Query`n"
|
|
88
|
+
$msg += "ServerInstance: $ServerInstance`n"
|
|
89
|
+
$msg += "Database: $Database`n"
|
|
90
|
+
$msg += "FilePath: $FilePath`n"
|
|
91
|
+
|
|
92
|
+
Write-EventLog -LogName Application -Source "$Application" -EntryType Information -EventId 12345 -Message "Starting`n$msg"
|
|
93
|
+
$dt = Invoke-SqlCmd2 -ServerInstance $ServerInstance -Database $Database -Query $Query -UserName $UserName -Password $Password -QueryTimeOut $QueryTimeOut -ConnectionTimeout $ConnectionTimeout
|
|
94
|
+
if ($FilePath)
|
|
95
|
+
{
|
|
96
|
+
if ($dt)
|
|
97
|
+
{ $dt | export-csv -Delimiter $Delimiter -Path $FilePath -NoTypeInformation }
|
|
98
|
+
else #Query Returned No Output!
|
|
99
|
+
{Write-EventLog -LogName Application -Source "$Application" -EntryType Warning -EventId 12345 -Message "NoOutput`n$msg" }
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
Write-EventLog -LogName Application -Source "$Application" -EntryType Information -EventId 12345 -Message "Completed`n$msg"
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
$Exception = "{0}, {1}" -f $_.Exception.GetType().FullName,$( $_.Exception.Message -replace "'" )
|
|
106
|
+
Write-EventLog -LogName Application -Source "$Application" -EntryType Error -EventId 12345 -Message "Error`n$msg`n$Exception"
|
|
107
|
+
throw
|
|
108
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
library ieee;
|
|
2
|
+
use ieee.std_logic_unsigned.all;
|
|
3
|
+
use ieee.std_logic_1164.all;
|
|
4
|
+
use ieee.numeric_std.all;
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
entity top_testbench is --test
|
|
8
|
+
generic ( -- test
|
|
9
|
+
n : integer := 8 -- test
|
|
10
|
+
); -- test
|
|
11
|
+
end top_testbench; -- test
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
architecture top_testbench_arch of top_testbench is
|
|
15
|
+
|
|
16
|
+
component top is
|
|
17
|
+
generic (
|
|
18
|
+
n : integer
|
|
19
|
+
) ;
|
|
20
|
+
port (
|
|
21
|
+
clk : in std_logic;
|
|
22
|
+
rst : in std_logic;
|
|
23
|
+
d1 : in std_logic_vector (n-1 downto 0);
|
|
24
|
+
d2 : in std_logic_vector (n-1 downto 0);
|
|
25
|
+
operation : in std_logic;
|
|
26
|
+
result : out std_logic_vector (2*n-1 downto 0)
|
|
27
|
+
);
|
|
28
|
+
end component;
|
|
29
|
+
|
|
30
|
+
signal clk : std_logic;
|
|
31
|
+
signal rst : std_logic;
|
|
32
|
+
signal operation : std_logic;
|
|
33
|
+
signal d1 : std_logic_vector (n-1 downto 0);
|
|
34
|
+
signal d2 : std_logic_vector (n-1 downto 0);
|
|
35
|
+
signal result : std_logic_vector (2*n-1 downto 0);
|
|
36
|
+
|
|
37
|
+
type test_type is ( a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
|
|
38
|
+
attribute enum_encoding of my_state : type is "001 010 011 100 111";
|
|
39
|
+
begin
|
|
40
|
+
|
|
41
|
+
TESTUNIT : top generic map (n => n)
|
|
42
|
+
port map (clk => clk,
|
|
43
|
+
rst => rst,
|
|
44
|
+
d1 => d1,
|
|
45
|
+
d2 => d2,
|
|
46
|
+
operation => operation,
|
|
47
|
+
result => result);
|
|
48
|
+
|
|
49
|
+
clock_process : process
|
|
50
|
+
begin
|
|
51
|
+
clk <= '0';
|
|
52
|
+
wait for 5 ns;
|
|
53
|
+
clk <= '1';
|
|
54
|
+
wait for 5 ns;
|
|
55
|
+
end process;
|
|
56
|
+
|
|
57
|
+
data_process : process
|
|
58
|
+
begin
|
|
59
|
+
|
|
60
|
+
-- test case #1
|
|
61
|
+
operation <= '0';
|
|
62
|
+
|
|
63
|
+
rst <= '1';
|
|
64
|
+
wait for 5 ns;
|
|
65
|
+
rst <= '0';
|
|
66
|
+
wait for 5 ns;
|
|
67
|
+
|
|
68
|
+
d1 <= std_logic_vector(to_unsigned(60, d1'length));
|
|
69
|
+
d2 <= std_logic_vector(to_unsigned(12, d2'length));
|
|
70
|
+
wait for 360 ns;
|
|
71
|
+
|
|
72
|
+
assert (result = std_logic_vector(to_unsigned(720, result'length)))
|
|
73
|
+
report "Test case #1 failed" severity error;
|
|
74
|
+
|
|
75
|
+
-- test case #2
|
|
76
|
+
operation <= '0';
|
|
77
|
+
|
|
78
|
+
rst <= '1';
|
|
79
|
+
wait for 5 ns;
|
|
80
|
+
rst <= '0';
|
|
81
|
+
wait for 5 ns;
|
|
82
|
+
|
|
83
|
+
d1 <= std_logic_vector(to_unsigned(55, d1'length));
|
|
84
|
+
d2 <= std_logic_vector(to_unsigned(1, d2'length));
|
|
85
|
+
wait for 360 ns;
|
|
86
|
+
|
|
87
|
+
assert (result = std_logic_vector(to_unsigned(55, result'length)))
|
|
88
|
+
report "Test case #2 failed" severity error;
|
|
89
|
+
|
|
90
|
+
-- etc
|
|
91
|
+
|
|
92
|
+
end process;
|
|
93
|
+
|
|
94
|
+
end top_testbench_arch;
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
configuration testbench_for_top of top_testbench is
|
|
98
|
+
for top_testbench_arch
|
|
99
|
+
for TESTUNIT : top
|
|
100
|
+
use entity work.top(top_arch);
|
|
101
|
+
end for;
|
|
102
|
+
end for;
|
|
103
|
+
end testbench_for_top;
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
function compare(A: std_logic, B: std_Logic) return std_logic is
|
|
107
|
+
constant pi : real := 3.14159;
|
|
108
|
+
constant half_pi : real := pi / 2.0;
|
|
109
|
+
constant cycle_time : time := 2 ns;
|
|
110
|
+
constant N, N5 : integer := 5;
|
|
111
|
+
begin
|
|
112
|
+
if (A = '0' and B = '1') then
|
|
113
|
+
return B;
|
|
114
|
+
else
|
|
115
|
+
return A;
|
|
116
|
+
end if ;
|
|
117
|
+
end compare;
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
procedure print(P : std_logic_vector(7 downto 0);
|
|
121
|
+
U : std_logic_vector(3 downto 0)) is
|
|
122
|
+
variable my_line : line;
|
|
123
|
+
alias swrite is write [line, string, side, width] ;
|
|
124
|
+
begin
|
|
125
|
+
swrite(my_line, "sqrt( ");
|
|
126
|
+
write(my_line, P);
|
|
127
|
+
swrite(my_line, " )= ");
|
|
128
|
+
write(my_line, U);
|
|
129
|
+
writeline(output, my_line);
|
|
130
|
+
end print;
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
entity add32csa is -- one stage of carry save adder for multiplier
|
|
134
|
+
port(
|
|
135
|
+
b : in std_logic; -- a multiplier bit
|
|
136
|
+
a : in std_logic_vector(31 downto 0); -- multiplicand
|
|
137
|
+
sum_in : in std_logic_vector(31 downto 0); -- sums from previous stage
|
|
138
|
+
cin : in std_logic_vector(31 downto 0); -- carrys from previous stage
|
|
139
|
+
sum_out : out std_logic_vector(31 downto 0); -- sums to next stage
|
|
140
|
+
cout : out std_logic_vector(31 downto 0)); -- carrys to next stage
|
|
141
|
+
end add32csa;
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
ARCHITECTURE circuits of add32csa IS
|
|
145
|
+
SIGNAL zero : STD_LOGIC_VECTOR(31 downto 0) := X"00000000";
|
|
146
|
+
SIGNAL aa : std_logic_vector(31 downto 0) := X"00000000";
|
|
147
|
+
|
|
148
|
+
COMPONENT fadd -- duplicates entity port
|
|
149
|
+
PoRT(a : in std_logic;
|
|
150
|
+
b : in std_logic;
|
|
151
|
+
cin : in std_logic;
|
|
152
|
+
s : out std_logic;
|
|
153
|
+
cout : out std_logic);
|
|
154
|
+
end comPonent fadd;
|
|
155
|
+
|
|
156
|
+
begin -- circuits of add32csa
|
|
157
|
+
aa <= a when b='1' else zero after 1 ns;
|
|
158
|
+
stage: for I in 0 to 31 generate
|
|
159
|
+
sta: fadd port map(aa(I), sum_in(I), cin(I) , sum_out(I), cout(I));
|
|
160
|
+
end generate stage;
|
|
161
|
+
end architecture circuits; -- of add32csa
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Pygments basic API tests
|
|
4
4
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
5
|
|
|
6
|
-
:copyright: Copyright 2006-
|
|
6
|
+
:copyright: Copyright 2006-2012 by the Pygments team, see AUTHORS.
|
|
7
7
|
:license: BSD, see LICENSE for details.
|
|
8
8
|
"""
|
|
9
9
|
|
|
@@ -57,7 +57,7 @@ def test_lexer_classes():
|
|
|
57
57
|
assert 'root' in cls._tokens, \
|
|
58
58
|
'%s has no root state' % cls
|
|
59
59
|
|
|
60
|
-
if cls.name
|
|
60
|
+
if cls.name in ['XQuery', 'Opa']: # XXX temporary
|
|
61
61
|
return
|
|
62
62
|
|
|
63
63
|
tokens = list(inst.get_tokens(test_content))
|
|
@@ -92,7 +92,8 @@ def test_lexer_options():
|
|
|
92
92
|
if cls.__name__ not in (
|
|
93
93
|
'PythonConsoleLexer', 'RConsoleLexer', 'RubyConsoleLexer',
|
|
94
94
|
'SqliteConsoleLexer', 'MatlabSessionLexer', 'ErlangShellLexer',
|
|
95
|
-
'BashSessionLexer', 'LiterateHaskellLexer', 'PostgresConsoleLexer'
|
|
95
|
+
'BashSessionLexer', 'LiterateHaskellLexer', 'PostgresConsoleLexer',
|
|
96
|
+
'ElixirConsoleLexer'):
|
|
96
97
|
inst = cls(ensurenl=False)
|
|
97
98
|
ensure(inst.get_tokens('a\nb'), 'a\nb')
|
|
98
99
|
inst = cls(ensurenl=False, stripall=True)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Pygments tests with example files
|
|
4
4
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
5
|
|
|
6
|
-
:copyright: Copyright 2006-
|
|
6
|
+
:copyright: Copyright 2006-2012 by the Pygments team, see AUTHORS.
|
|
7
7
|
:license: BSD, see LICENSE for details.
|
|
8
8
|
"""
|
|
9
9
|
|
|
@@ -60,8 +60,9 @@ def check_lexer(lx, absfn, outfn):
|
|
|
60
60
|
tokens = []
|
|
61
61
|
for type, val in lx.get_tokens(text):
|
|
62
62
|
ntext.append(val)
|
|
63
|
-
assert type != Error,
|
|
64
|
-
|
|
63
|
+
assert type != Error, \
|
|
64
|
+
'lexer %s generated error token for %s: %r at position %d' % \
|
|
65
|
+
(lx, absfn, val, len(u''.join(ntext)))
|
|
65
66
|
tokens.append((type, val))
|
|
66
67
|
if u''.join(ntext) != text:
|
|
67
68
|
print '\n'.join(difflib.unified_diff(u''.join(ntext).splitlines(),
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Pygments HTML formatter tests
|
|
4
4
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
5
|
|
|
6
|
-
:copyright: Copyright 2006-
|
|
6
|
+
:copyright: Copyright 2006-2012 by the Pygments team, see AUTHORS.
|
|
7
7
|
:license: BSD, see LICENSE for details.
|
|
8
8
|
"""
|
|
9
9
|
|
|
@@ -75,6 +75,38 @@ class HtmlFormatterTest(unittest.TestCase):
|
|
|
75
75
|
fmt = HtmlFormatter(**optdict)
|
|
76
76
|
fmt.format(tokensource, outfile)
|
|
77
77
|
|
|
78
|
+
def test_linenos(self):
|
|
79
|
+
optdict = dict(linenos=True)
|
|
80
|
+
outfile = StringIO.StringIO()
|
|
81
|
+
fmt = HtmlFormatter(**optdict)
|
|
82
|
+
fmt.format(tokensource, outfile)
|
|
83
|
+
html = outfile.getvalue()
|
|
84
|
+
self.assert_(re.search("<pre>\s+1\s+2\s+3", html))
|
|
85
|
+
|
|
86
|
+
def test_linenos_with_startnum(self):
|
|
87
|
+
optdict = dict(linenos=True, linenostart=5)
|
|
88
|
+
outfile = StringIO.StringIO()
|
|
89
|
+
fmt = HtmlFormatter(**optdict)
|
|
90
|
+
fmt.format(tokensource, outfile)
|
|
91
|
+
html = outfile.getvalue()
|
|
92
|
+
self.assert_(re.search("<pre>\s+5\s+6\s+7", html))
|
|
93
|
+
|
|
94
|
+
def test_lineanchors(self):
|
|
95
|
+
optdict = dict(lineanchors="foo")
|
|
96
|
+
outfile = StringIO.StringIO()
|
|
97
|
+
fmt = HtmlFormatter(**optdict)
|
|
98
|
+
fmt.format(tokensource, outfile)
|
|
99
|
+
html = outfile.getvalue()
|
|
100
|
+
self.assert_(re.search("<pre><a name=\"foo-1\">", html))
|
|
101
|
+
|
|
102
|
+
def test_lineanchors_with_startnum(self):
|
|
103
|
+
optdict = dict(lineanchors="foo", linenostart=5)
|
|
104
|
+
outfile = StringIO.StringIO()
|
|
105
|
+
fmt = HtmlFormatter(**optdict)
|
|
106
|
+
fmt.format(tokensource, outfile)
|
|
107
|
+
html = outfile.getvalue()
|
|
108
|
+
self.assert_(re.search("<pre><a name=\"foo-5\">", html))
|
|
109
|
+
|
|
78
110
|
def test_valid_output(self):
|
|
79
111
|
# test all available wrappers
|
|
80
112
|
fmt = HtmlFormatter(full=True, linenos=True, noclasses=True,
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Pygments regex lexer tests
|
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
|
+
|
|
6
|
+
:copyright: Copyright 2006-2012 by the Pygments team, see AUTHORS.
|
|
7
|
+
:license: BSD, see LICENSE for details.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import time
|
|
11
|
+
import unittest
|
|
12
|
+
|
|
13
|
+
from pygments.token import String
|
|
14
|
+
from pygments.lexers.agile import PerlLexer
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class RunawayRegexTest(unittest.TestCase):
|
|
18
|
+
# A previous version of the Perl lexer would spend a great deal of
|
|
19
|
+
# time backtracking when given particular strings. These tests show that
|
|
20
|
+
# the runaway backtracking doesn't happen any more (at least for the given
|
|
21
|
+
# cases).
|
|
22
|
+
|
|
23
|
+
lexer = PerlLexer()
|
|
24
|
+
|
|
25
|
+
### Test helpers.
|
|
26
|
+
|
|
27
|
+
def assert_single_token(self, s, token):
|
|
28
|
+
"""Show that a given string generates only one token."""
|
|
29
|
+
tokens = list(self.lexer.get_tokens_unprocessed(s))
|
|
30
|
+
self.assertEqual(len(tokens), 1, tokens)
|
|
31
|
+
self.assertEqual(s, tokens[0][2])
|
|
32
|
+
self.assertEqual(token, tokens[0][1])
|
|
33
|
+
|
|
34
|
+
def assert_tokens(self, strings, expected_tokens):
|
|
35
|
+
"""Show that a given string generates the expected tokens."""
|
|
36
|
+
tokens = list(self.lexer.get_tokens_unprocessed(''.join(strings)))
|
|
37
|
+
self.assertEqual(len(tokens), len(expected_tokens), tokens)
|
|
38
|
+
for index, s in enumerate(strings):
|
|
39
|
+
self.assertEqual(s, tokens[index][2])
|
|
40
|
+
self.assertEqual(expected_tokens[index], tokens[index][1])
|
|
41
|
+
|
|
42
|
+
def assert_fast_tokenization(self, s):
|
|
43
|
+
"""Show that a given string is tokenized quickly."""
|
|
44
|
+
start = time.time()
|
|
45
|
+
tokens = list(self.lexer.get_tokens_unprocessed(s))
|
|
46
|
+
end = time.time()
|
|
47
|
+
# Isn't 10 seconds kind of a long time? Yes, but we don't want false
|
|
48
|
+
# positives when the tests are starved for CPU time.
|
|
49
|
+
if end-start > 10:
|
|
50
|
+
self.fail('tokenization took too long')
|
|
51
|
+
return tokens
|
|
52
|
+
|
|
53
|
+
### Strings.
|
|
54
|
+
|
|
55
|
+
def test_single_quote_strings(self):
|
|
56
|
+
self.assert_single_token(r"'foo\tbar\\\'baz'", String)
|
|
57
|
+
self.assert_fast_tokenization("'" + '\\'*999)
|
|
58
|
+
|
|
59
|
+
def test_double_quote_strings(self):
|
|
60
|
+
self.assert_single_token(r'"foo\tbar\\\"baz"', String)
|
|
61
|
+
self.assert_fast_tokenization('"' + '\\'*999)
|
|
62
|
+
|
|
63
|
+
def test_backtick_strings(self):
|
|
64
|
+
self.assert_single_token(r'`foo\tbar\\\`baz`', String.Backtick)
|
|
65
|
+
self.assert_fast_tokenization('`' + '\\'*999)
|
|
66
|
+
|
|
67
|
+
### Regex matches with various delimiters.
|
|
68
|
+
|
|
69
|
+
def test_match(self):
|
|
70
|
+
self.assert_single_token(r'/aa\tbb/', String.Regex)
|
|
71
|
+
self.assert_fast_tokenization('/' + '\\'*999)
|
|
72
|
+
|
|
73
|
+
def test_match_with_slash(self):
|
|
74
|
+
self.assert_tokens(['m', '/\n\\t\\\\/'], [String.Regex, String.Regex])
|
|
75
|
+
self.assert_fast_tokenization('m/xxx\n' + '\\'*999)
|
|
76
|
+
|
|
77
|
+
def test_match_with_bang(self):
|
|
78
|
+
self.assert_tokens(['m', r'!aa\t\!bb!'], [String.Regex, String.Regex])
|
|
79
|
+
self.assert_fast_tokenization('m!' + '\\'*999)
|
|
80
|
+
|
|
81
|
+
def test_match_with_brace(self):
|
|
82
|
+
self.assert_tokens(['m', r'{aa\t\}bb}'], [String.Regex, String.Regex])
|
|
83
|
+
self.assert_fast_tokenization('m{' + '\\'*999)
|
|
84
|
+
|
|
85
|
+
def test_match_with_angle_brackets(self):
|
|
86
|
+
self.assert_tokens(['m', r'<aa\t\>bb>'], [String.Regex, String.Regex])
|
|
87
|
+
self.assert_fast_tokenization('m<' + '\\'*999)
|
|
88
|
+
|
|
89
|
+
def test_match_with_parenthesis(self):
|
|
90
|
+
self.assert_tokens(['m', r'(aa\t\)bb)'], [String.Regex, String.Regex])
|
|
91
|
+
self.assert_fast_tokenization('m(' + '\\'*999)
|
|
92
|
+
|
|
93
|
+
def test_match_with_at_sign(self):
|
|
94
|
+
self.assert_tokens(['m', r'@aa\t\@bb@'], [String.Regex, String.Regex])
|
|
95
|
+
self.assert_fast_tokenization('m@' + '\\'*999)
|
|
96
|
+
|
|
97
|
+
def test_match_with_percent_sign(self):
|
|
98
|
+
self.assert_tokens(['m', r'%aa\t\%bb%'], [String.Regex, String.Regex])
|
|
99
|
+
self.assert_fast_tokenization('m%' + '\\'*999)
|
|
100
|
+
|
|
101
|
+
def test_match_with_dollar_sign(self):
|
|
102
|
+
self.assert_tokens(['m', r'$aa\t\$bb$'], [String.Regex, String.Regex])
|
|
103
|
+
self.assert_fast_tokenization('m$' + '\\'*999)
|
|
104
|
+
|
|
105
|
+
### Regex substitutions with various delimeters.
|
|
106
|
+
|
|
107
|
+
def test_substitution_with_slash(self):
|
|
108
|
+
self.assert_single_token('s/aaa/bbb/g', String.Regex)
|
|
109
|
+
self.assert_fast_tokenization('s/foo/' + '\\'*999)
|
|
110
|
+
|
|
111
|
+
def test_substitution_with_at_sign(self):
|
|
112
|
+
self.assert_single_token(r's@aaa@bbb@g', String.Regex)
|
|
113
|
+
self.assert_fast_tokenization('s@foo@' + '\\'*999)
|
|
114
|
+
|
|
115
|
+
def test_substitution_with_percent_sign(self):
|
|
116
|
+
self.assert_single_token(r's%aaa%bbb%g', String.Regex)
|
|
117
|
+
self.assert_fast_tokenization('s%foo%' + '\\'*999)
|
|
118
|
+
|
|
119
|
+
def test_substitution_with_brace(self):
|
|
120
|
+
self.assert_single_token(r's{aaa}', String.Regex)
|
|
121
|
+
self.assert_fast_tokenization('s{' + '\\'*999)
|
|
122
|
+
|
|
123
|
+
def test_substitution_with_angle_bracket(self):
|
|
124
|
+
self.assert_single_token(r's<aaa>', String.Regex)
|
|
125
|
+
self.assert_fast_tokenization('s<' + '\\'*999)
|
|
126
|
+
|
|
127
|
+
def test_substitution_with_angle_bracket(self):
|
|
128
|
+
self.assert_single_token(r's<aaa>', String.Regex)
|
|
129
|
+
self.assert_fast_tokenization('s<' + '\\'*999)
|
|
130
|
+
|
|
131
|
+
def test_substitution_with_square_bracket(self):
|
|
132
|
+
self.assert_single_token(r's[aaa]', String.Regex)
|
|
133
|
+
self.assert_fast_tokenization('s[' + '\\'*999)
|
|
134
|
+
|
|
135
|
+
def test_substitution_with_parenthesis(self):
|
|
136
|
+
self.assert_single_token(r's(aaa)', String.Regex)
|
|
137
|
+
self.assert_fast_tokenization('s(' + '\\'*999)
|