summaryrefslogtreecommitdiff
path: root/tests/lexers/stan
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2021-01-18 21:24:00 +0100
committerGeorg Brandl <georg@python.org>2021-01-18 22:08:36 +0100
commit2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch)
tree809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/stan
parentf0445be718da83541ea3401aad882f3937147263 (diff)
downloadpygments-git-examplefiles.tar.gz
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/stan')
-rw-r--r--tests/lexers/stan/example.txt836
1 files changed, 836 insertions, 0 deletions
diff --git a/tests/lexers/stan/example.txt b/tests/lexers/stan/example.txt
new file mode 100644
index 00000000..8a748bbf
--- /dev/null
+++ b/tests/lexers/stan/example.txt
@@ -0,0 +1,836 @@
+---input---
+/*
+A file for testing Stan syntax highlighting.
+
+It is not a real model and will not compile
+*/
+# also a comment
+// also a comment
+functions {
+ void f1(void a, real b) {
+ return 1 / a;
+ }
+ real f2(int a, vector b, real c) {
+ return a + b + c;
+ }
+}
+data {
+ // valid name
+ int abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abc;
+ // all types should be highlighted
+ int a3;
+ real foo[2];
+ vector[3] bar;
+ row_vector[3] baz;
+ matrix[3,3] qux;
+ simplex[3] quux;
+ ordered[3] corge;
+ positive_ordered[3] wibble;
+ corr_matrix[3] grault;
+ cov_matrix[3] garply;
+ cholesky_factor_cov[3] waldo;
+ cholesky_factor_corr[3] waldo2;
+
+ real<lower=-1,upper=1> foo1;
+ real<lower=0> foo2;
+ real<upper=0> foo3;
+}
+transformed data {
+ real xyzzy;
+ int thud;
+ row_vector grault2;
+ matrix qux2;
+
+ // all floating point literals should be recognized
+ // all operators should be recognized
+ // paren should be recognized;
+ xyzzy <- 1234.5687 + .123 - (2.7e3 / 2E-5 * 135e-5);
+ // integer literal
+ thud <- -12309865;
+ // ./ and .* should be recognized as operators
+ grault2 <- grault .* garply ./ garply;
+ // ' and \ should be recognized as operators
+ qux2 <- qux' \ bar;
+
+}
+parameters {
+ real fred;
+ real plugh;
+}
+transformed parameters {
+}
+model {
+ // ~, <- are operators,
+ // T may be be recognized
+ // normal is a function
+ fred ~ normal(0, 1) T(-0.5, 0.5);
+ real tmp;
+ // C++ reserved
+ real public;
+
+ // control structures
+ for (i in 1:10) {
+ tmp <- tmp + 0.1;
+ }
+ tmp <- 0.0;
+ while (tmp < 5.0) {
+ tmp <- tmp + 1;
+ }
+ if (tmp > 0.0) {
+ print(tmp);
+ } else {
+ print(tmp);
+ }
+
+ // operators
+ tmp || tmp;
+ tmp && tmp;
+ tmp == tmp;
+ tmp != tmp;
+ tmp < tmp;
+ tmp <= tmp;
+ tmp > tmp;
+ tmp >= tmp;
+ tmp + tmp;
+ tmp - tmp;
+ tmp * tmp;
+ tmp / tmp;
+ tmp .* tmp;
+ tmp ./ tmp;
+ tmp ^ tmp;
+ ! tmp;
+ - tmp;
+ + tmp;
+ tmp ';
+
+ // lp__ should be highlighted
+ // normal_log as a function
+ lp__ <- lp__ + normal_log(plugh, 0, 1);
+ increment_log_prob(normal_log(plugh, 0, 1));
+
+ // print statement and string literal
+ print("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~@#$%^&*`'-+={}[].,;: ");
+ print("Hello, world!");
+ print("");
+
+ // reject statement
+ reject("I just don't like it");
+
+}
+generated quantities {
+ real bar1;
+ bar1 <- foo + 1;
+}
+
+---tokens---
+'/* \nA file for testing Stan syntax highlighting. \n\nIt is not a real model and will not compile\n*/' Comment.Multiline
+'\n' Text
+
+'# also a comment' Comment.Single
+'\n' Text
+
+'// also a comment' Comment.Single
+'\n' Text
+
+'functions' Keyword.Namespace
+' ' Text
+'{' Punctuation
+'\n ' Text
+'void' Keyword.Type
+' ' Text
+'f1' Name
+'(' Punctuation
+'void' Keyword.Type
+' ' Text
+'a' Name
+',' Punctuation
+' ' Text
+'real' Keyword.Type
+' ' Text
+'b' Name
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'return' Keyword
+' ' Text
+'1' Literal.Number.Float
+' ' Text
+'/' Operator
+' ' Text
+'a' Name
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'f2' Name
+'(' Punctuation
+'int' Keyword.Type
+' ' Text
+'a' Name
+',' Punctuation
+' ' Text
+'vector' Keyword.Type
+' ' Text
+'b' Name
+',' Punctuation
+' ' Text
+'real' Keyword.Type
+' ' Text
+'c' Name
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'return' Keyword
+' ' Text
+'a' Name
+' ' Text
+'+' Operator
+' ' Text
+'b' Name
+' ' Text
+'+' Operator
+' ' Text
+'c' Name
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text
+
+'data' Keyword.Namespace
+' ' Text
+'{' Punctuation
+'\n ' Text
+'// valid name' Comment.Single
+'\n ' Text
+'int' Keyword.Type
+' ' Text
+'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_abc' Name
+';' Punctuation
+'\n ' Text
+'// all types should be highlighted' Comment.Single
+'\n ' Text
+'int' Keyword.Type
+' ' Text
+'a3' Name
+';' Punctuation
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'foo' Name
+'[' Punctuation
+'2' Literal.Number.Float
+']' Punctuation
+';' Punctuation
+'\n ' Text
+'vector' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'bar' Name
+';' Punctuation
+'\n ' Text
+'row_vector' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'baz' Name
+';' Punctuation
+'\n ' Text
+'matrix' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+',' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'qux' Name
+';' Punctuation
+'\n ' Text
+'simplex' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'quux' Name
+';' Punctuation
+'\n ' Text
+'ordered' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'corge' Name
+';' Punctuation
+'\n ' Text
+'positive_ordered' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'wibble' Name
+';' Punctuation
+'\n ' Text
+'corr_matrix' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'grault' Name
+';' Punctuation
+'\n ' Text
+'cov_matrix' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'garply' Name
+';' Punctuation
+'\n ' Text
+'cholesky_factor_cov' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'waldo' Name
+';' Punctuation
+'\n ' Text
+'cholesky_factor_corr' Keyword.Type
+'[' Punctuation
+'3' Literal.Number.Float
+']' Punctuation
+' ' Text
+'waldo2' Name
+';' Punctuation
+'\n \n ' Text
+'real' Keyword.Type
+'<' Operator
+'lower' Keyword
+'=' Punctuation
+'-' Operator
+'1' Literal.Number.Float
+',' Punctuation
+'upper' Keyword
+'=' Punctuation
+'1' Literal.Number.Float
+'>' Operator
+' ' Text
+'foo1' Name
+';' Punctuation
+'\n ' Text
+'real' Keyword.Type
+'<' Operator
+'lower' Keyword
+'=' Punctuation
+'0' Literal.Number.Float
+'>' Operator
+' ' Text
+'foo2' Name
+';' Punctuation
+'\n ' Text
+'real' Keyword.Type
+'<' Operator
+'upper' Keyword
+'=' Punctuation
+'0' Literal.Number.Float
+'>' Operator
+' ' Text
+'foo3' Name
+';' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text
+
+'transformed data' Keyword.Namespace
+' ' Text
+'{' Punctuation
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'xyzzy' Name
+';' Punctuation
+'\n ' Text
+'int' Keyword.Type
+' ' Text
+'thud' Name
+';' Punctuation
+'\n ' Text
+'row_vector' Keyword.Type
+' ' Text
+'grault2' Name
+';' Punctuation
+'\n ' Text
+'matrix' Keyword.Type
+' ' Text
+'qux2' Name
+';' Punctuation
+'\n \n ' Text
+'// all floating point literals should be recognized' Comment.Single
+'\n ' Text
+'// all operators should be recognized' Comment.Single
+'\n ' Text
+'// paren should be recognized;' Comment.Single
+'\n ' Text
+'xyzzy' Name
+' ' Text
+'<-' Operator
+' ' Text
+'1234.5687' Literal.Number.Float
+' ' Text
+'+' Operator
+' ' Text
+'.123' Literal.Number.Float
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'2.7e3' Literal.Number.Float
+' ' Text
+'/' Operator
+' ' Text
+'2E-5' Literal.Number.Float
+' ' Text
+'*' Operator
+' ' Text
+'135e-5' Literal.Number.Float
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'// integer literal' Comment.Single
+'\n ' Text
+'thud' Name
+' ' Text
+'<-' Operator
+' ' Text
+'-' Operator
+'12309865' Literal.Number.Float
+';' Punctuation
+'\n ' Text
+'// ./ and .* should be recognized as operators' Comment.Single
+'\n ' Text
+'grault2' Name
+' ' Text
+'<-' Operator
+' ' Text
+'grault' Name
+' ' Text
+'.*' Operator
+' ' Text
+'garply' Name
+' ' Text
+'./' Operator
+' ' Text
+'garply' Name
+';' Punctuation
+'\n ' Text
+"// ' and \\ should be recognized as operators" Comment.Single
+'\n ' Text
+'qux2' Name
+' ' Text
+'<-' Operator
+' ' Text
+'qux' Name
+"'" Operator
+' ' Text
+'\\' Operator
+' ' Text
+'bar' Name
+';' Punctuation
+'\n \n' Text
+
+'}' Punctuation
+'\n' Text
+
+'parameters' Keyword.Namespace
+' ' Text
+'{' Punctuation
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'fred' Name
+';' Punctuation
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'plugh' Name
+';' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text
+
+'transformed parameters' Keyword.Namespace
+' ' Text
+'{' Punctuation
+' \n' Text
+
+'}' Punctuation
+'\n' Text
+
+'model' Keyword.Namespace
+' ' Text
+'{' Punctuation
+'\n ' Text
+'// ~, <- are operators, ' Comment.Single
+'\n ' Text
+'// T may be be recognized' Comment.Single
+'\n ' Text
+'// normal is a function' Comment.Single
+'\n ' Text
+'fred' Name
+' ' Text
+'~' Operator
+' ' Text.Whitespace
+'normal' Name.Builtin
+'(' Punctuation
+'0' Literal.Number.Float
+',' Punctuation
+' ' Text
+'1' Literal.Number.Float
+')' Punctuation
+' ' Text
+'T' Name
+'(' Punctuation
+'-' Operator
+'0.5' Literal.Number.Float
+',' Punctuation
+' ' Text
+'0.5' Literal.Number.Float
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'// C++ reserved' Comment.Single
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'public' Keyword.Reserved
+';' Punctuation
+'\n \n ' Text
+'// control structures' Comment.Single
+'\n ' Text
+'for' Keyword
+' ' Text
+'(' Punctuation
+'i' Name
+' ' Text
+'in' Keyword
+' ' Text
+'1' Literal.Number.Float
+':' Operator
+'10' Literal.Number.Float
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'<-' Operator
+' ' Text
+'tmp' Name
+' ' Text
+'+' Operator
+' ' Text
+'0.1' Literal.Number.Float
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'<-' Operator
+' ' Text
+'0.0' Literal.Number.Float
+';' Punctuation
+'\n ' Text
+'while' Keyword
+' ' Text
+'(' Punctuation
+'tmp' Name
+' ' Text
+'<' Operator
+' ' Text
+'5.0' Literal.Number.Float
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'<-' Operator
+' ' Text
+'tmp' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Float
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'if' Keyword
+' ' Text
+'(' Punctuation
+'tmp' Name
+' ' Text
+'>' Operator
+' ' Text
+'0.0' Literal.Number.Float
+')' Punctuation
+' ' Text
+'{' Punctuation
+'\n ' Text
+'print' Keyword
+'(' Punctuation
+'tmp' Name
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'{' Punctuation
+'\n ' Text
+'print' Keyword
+'(' Punctuation
+'tmp' Name
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n\n ' Text
+'// operators' Comment.Single
+'\n ' Text
+'tmp' Name
+' ' Text
+'||' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'&&' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'==' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'!=' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+' \n ' Text
+'tmp' Name
+' ' Text
+'<' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'<=' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'>' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'>=' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'+' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'-' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'*' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'/' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'.*' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'./' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+'^' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'!' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'-' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'+' Operator
+' ' Text
+'tmp' Name
+';' Punctuation
+'\n ' Text
+'tmp' Name
+' ' Text
+"'" Operator
+';' Punctuation
+'\n\n ' Text
+'// lp__ should be highlighted' Comment.Single
+'\n ' Text
+'// normal_log as a function' Comment.Single
+'\n ' Text
+'lp__' Name.Builtin.Pseudo
+' ' Text
+'<-' Operator
+' ' Text
+'lp__' Name.Builtin.Pseudo
+' ' Text
+'+' Operator
+' ' Text
+'normal_log' Name
+'(' Punctuation
+'plugh' Name
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+',' Punctuation
+' ' Text
+'1' Literal.Number.Float
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'increment_log_prob' Name
+'(' Punctuation
+'normal_log' Name
+'(' Punctuation
+'plugh' Name
+',' Punctuation
+' ' Text
+'0' Literal.Number.Float
+',' Punctuation
+' ' Text
+'1' Literal.Number.Float
+')' Punctuation
+')' Punctuation
+';' Punctuation
+'\n \n ' Text
+'// print statement and string literal' Comment.Single
+'\n ' Text
+'print' Keyword
+'(' Punctuation
+'"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~@#$%^&*`\'-+={}[].,;: "' Literal.String
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'print' Keyword
+'(' Punctuation
+'"Hello, world!"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n ' Text
+'print' Keyword
+'(' Punctuation
+'""' Literal.String
+')' Punctuation
+';' Punctuation
+'\n\n ' Text
+'// reject statement' Comment.Single
+'\n ' Text
+'reject' Keyword
+'(' Punctuation
+'"I just don\'t like it"' Literal.String
+')' Punctuation
+';' Punctuation
+'\n \n' Text
+
+'}' Punctuation
+'\n' Text
+
+'generated quantities' Keyword.Namespace
+' ' Text
+'{' Punctuation
+'\n ' Text
+'real' Keyword.Type
+' ' Text
+'bar1' Name
+';' Punctuation
+'\n ' Text
+'bar1' Name
+' ' Text
+'<-' Operator
+' ' Text
+'foo' Name
+' ' Text
+'+' Operator
+' ' Text
+'1' Literal.Number.Float
+';' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text