"'"
diff --git a/test/markup/brainfuck/default.expect.txt b/test/markup/brainfuck/default.expect.txt
new file mode 100644
index 0000000000..7ddd595714
--- /dev/null
+++ b/test/markup/brainfuck/default.expect.txt
@@ -0,0 +1,17 @@
++++ + + + + + + +
+[
+ - >+++ >+++ + + + + + + + <<
+] >>
+[
+ - >++>>++>++>+ >++>>++>++>++>++>++>++>++>++>++>++>++[ <] <[ <] <[ <] >>
+] <
++++ + + + + + + <<
+[
+ - >>>+ >+ >+ >+++ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ >+ [ <] <
+]
+
+>>>++>
+-->+++ + + + + >--- - - - >+++ + + + >++>+++ + + + + + + >+++ + + + + + + + >+++ + + + + + >--- >+++ + + + + + + + >--- - - - >+++ + + + >
+++>+++ + + + + + + + + >+++ + + + + + + + + + >--- - - - >+++
+
+[ <] >[ . >]
diff --git a/test/markup/brainfuck/default.txt b/test/markup/brainfuck/default.txt
new file mode 100644
index 0000000000..5156af02e1
--- /dev/null
+++ b/test/markup/brainfuck/default.txt
@@ -0,0 +1,17 @@
+++++++++++
+[ 3*10 and 10*10
+ ->+++>++++++++++<<
+]>>
+[ filling cells
+ ->++>>++>++>+>++>>++>++>++>++>++>++>++>++>++>++>++[]<[<]<[<]>>
+]<
++++++++++<<
+[ rough codes correction loop
+ ->>>+>+>+>+++>+>+>+>+>+>+>+>+>+>+>+>+>+>+[<]<
+]
+more accurate сodes correction
+>>>++>
+-->+++++++>------>++++++>++>+++++++++>++++++++++>++++++++>--->++++++++++>------>++++++>
+++>+++++++++++>++++++++++++>------>+++
+rewind and output
+[<]>[.>]
diff --git a/test/markup/cal/default.expect.txt b/test/markup/cal/default.expect.txt
new file mode 100644
index 0000000000..20f52bece3
--- /dev/null
+++ b/test/markup/cal/default.expect.txt
@@ -0,0 +1,33 @@
+OBJECT Codeunit 11 Gen. Jnl.-Check Line
+{
+ OBJECT-PROPERTIES
+ {
+ Date=09 -09 -14 ;
+ Time=12 :00 :00 ;
+ Version List=NAVW18.00 ;
+ }
+ PROPERTIES
+ {
+ TableNo=81 ;
+ Permissions=TableData 252 =rimd;
+ OnRun=BEGIN
+ GLSetup.GET;
+ RunCheck(Rec);
+ END ;
+
+ }
+ CODE
+ {
+ VAR
+ Text000@1000 : TextConst 'ENU=can only be a closing date for G/L entries' ;
+ Text001@1001 : TextConst 'ENU=is not within your range of allowed posting dates' ;
+
+ PROCEDURE ErrorIfPositiveAmt @2(GenJnlLine@1000 : Record 81) ;
+ BEGIN
+ IF GenJnlLine.Amount > 0 THEN
+ GenJnlLine.FIELDERROR(Amount,Text008);
+ END ;
+
+ LOCAL PROCEDURE CheckGenJnlLineDocType @7(GenJnlLine@1001 : Record 81) ;
+ }
+}
diff --git a/test/markup/cal/default.txt b/test/markup/cal/default.txt
new file mode 100644
index 0000000000..5eec86caf0
--- /dev/null
+++ b/test/markup/cal/default.txt
@@ -0,0 +1,33 @@
+OBJECT Codeunit 11 Gen. Jnl.-Check Line
+{
+ OBJECT-PROPERTIES
+ {
+ Date=09-09-14;
+ Time=12:00:00;
+ Version List=NAVW18.00;
+ }
+ PROPERTIES
+ {
+ TableNo=81;
+ Permissions=TableData 252=rimd;
+ OnRun=BEGIN
+ GLSetup.GET;
+ RunCheck(Rec);
+ END;
+
+ }
+ CODE
+ {
+ VAR
+ Text000@1000 : TextConst 'ENU=can only be a closing date for G/L entries';
+ Text001@1001 : TextConst 'ENU=is not within your range of allowed posting dates';
+
+ PROCEDURE ErrorIfPositiveAmt@2(GenJnlLine@1000 : Record 81);
+ BEGIN
+ IF GenJnlLine.Amount > 0 THEN
+ GenJnlLine.FIELDERROR(Amount,Text008);
+ END;
+
+ LOCAL PROCEDURE CheckGenJnlLineDocType@7(GenJnlLine@1001 : Record 81);
+ }
+}
diff --git a/test/markup/capnproto/default.expect.txt b/test/markup/capnproto/default.expect.txt
new file mode 100644
index 0000000000..b516975696
--- /dev/null
+++ b/test/markup/capnproto/default.expect.txt
@@ -0,0 +1,55 @@
+@0xdbb9ad1f14bf0b36;
+
+struct Person {
+ name @0 :Text ;
+ birthdate @3 :Date;
+
+ email @1 :Text ;
+ phones @2 :List (PhoneNumber);
+
+ struct PhoneNumber {
+ number @0 :Text ;
+ type @1 :Type;
+
+ enum Type {
+ mobile @0 ;
+ home @1 ;
+ work @2 ;
+ }
+ }
+}
+
+struct Date {
+ year @0 :Int16 ;
+ month @1 :UInt8 ;
+ day @2 :UInt8 ;
+ flags @3 :List (Bool ) = [ true , false , false , true ];
+}
+
+interface Node {
+ isDirectory @0 () -> (result :Bool );
+}
+
+interface Directory extends(Node) {
+ list @0 () -> (list: List (Entry));
+ struct Entry {
+ name @0 :Text ;
+ node @1 :Node;
+ }
+
+ create @1 (name :Text ) -> (file :File);
+ mkdir @2 (name :Text ) -> (directory :Directory)
+ open @3 (name :Text ) -> (node :Node);
+ delete @4 (name :Text );
+ link @5 (name :Text , node :Node);
+}
+
+interface File extends(Node) {
+ size @0 () -> (size: UInt64 );
+ read @1 (startAt :UInt64 = 0 , amount :UInt64 = 0 xffffffffffffffff)
+ -> (data: Data );
+
+
+ write @2 (startAt :UInt64 , data :Data );
+ truncate @3 (size :UInt64 );
+}
\ No newline at end of file
diff --git a/test/markup/capnproto/default.txt b/test/markup/capnproto/default.txt
new file mode 100644
index 0000000000..f57fbea093
--- /dev/null
+++ b/test/markup/capnproto/default.txt
@@ -0,0 +1,55 @@
+@0xdbb9ad1f14bf0b36; # unique file ID, generated by `capnp id`
+
+struct Person {
+ name @0 :Text;
+ birthdate @3 :Date;
+
+ email @1 :Text;
+ phones @2 :List(PhoneNumber);
+
+ struct PhoneNumber {
+ number @0 :Text;
+ type @1 :Type;
+
+ enum Type {
+ mobile @0;
+ home @1;
+ work @2;
+ }
+ }
+}
+
+struct Date {
+ year @0 :Int16;
+ month @1 :UInt8;
+ day @2 :UInt8;
+ flags @3 :List(Bool) = [ true, false, false, true ];
+}
+
+interface Node {
+ isDirectory @0 () -> (result :Bool);
+}
+
+interface Directory extends(Node) {
+ list @0 () -> (list: List(Entry));
+ struct Entry {
+ name @0 :Text;
+ node @1 :Node;
+ }
+
+ create @1 (name :Text) -> (file :File);
+ mkdir @2 (name :Text) -> (directory :Directory)
+ open @3 (name :Text) -> (node :Node);
+ delete @4 (name :Text);
+ link @5 (name :Text, node :Node);
+}
+
+interface File extends(Node) {
+ size @0 () -> (size: UInt64);
+ read @1 (startAt :UInt64 = 0, amount :UInt64 = 0xffffffffffffffff)
+ -> (data: Data);
+ # Default params = read entire file.
+
+ write @2 (startAt :UInt64, data :Data);
+ truncate @3 (size :UInt64);
+}
\ No newline at end of file
diff --git a/test/markup/clean/default.expect.txt b/test/markup/clean/default.expect.txt
new file mode 100644
index 0000000000..e51ce442b1
--- /dev/null
+++ b/test/markup/clean/default.expect.txt
@@ -0,0 +1,30 @@
+module fsieve
+
+import StdClass;
+import StdInt, StdReal
+
+NrOfPrimes :== 3000
+
+primes :: [Int ]
+primes = pr where pr = [5 : sieve 7 4 pr]
+
+sieve :: Int !Int [Int ] -> [Int ]
+sieve g i prs
+| isPrime prs g (toInt (sqrt (toReal g))) = [g : sieve` g i prs]
+| otherwise = sieve (g + i) (6 - i) prs
+
+sieve` :: Int Int [Int ] -> [Int ]
+sieve` g i prs = sieve (g + i) (6 - i) prs
+
+isPrime :: [Int ] !Int Int -> Bool
+isPrime [f:r] pr bd
+| f>bd = True
+| pr rem f==0 = False
+| otherwise = isPrime r pr bd
+
+select :: [x] Int -> x
+select [f:r] 1 = f
+select [f:r] n = select r (n - 1 )
+
+Start :: Int
+Start = select [2 , 3 : primes] NrOfPrimes
diff --git a/test/markup/clean/default.txt b/test/markup/clean/default.txt
new file mode 100644
index 0000000000..ecbe7b1c7b
--- /dev/null
+++ b/test/markup/clean/default.txt
@@ -0,0 +1,30 @@
+module fsieve
+
+import StdClass; // RWS
+import StdInt, StdReal
+
+NrOfPrimes :== 3000
+
+primes :: [Int]
+primes = pr where pr = [5 : sieve 7 4 pr]
+
+sieve :: Int !Int [Int] -> [Int]
+sieve g i prs
+| isPrime prs g (toInt (sqrt (toReal g))) = [g : sieve` g i prs]
+| otherwise = sieve (g + i) (6 - i) prs
+
+sieve` :: Int Int [Int] -> [Int]
+sieve` g i prs = sieve (g + i) (6 - i) prs
+
+isPrime :: [Int] !Int Int -> Bool
+isPrime [f:r] pr bd
+| f>bd = True
+| pr rem f==0 = False
+| otherwise = isPrime r pr bd
+
+select :: [x] Int -> x
+select [f:r] 1 = f
+select [f:r] n = select r (n - 1)
+
+Start :: Int
+Start = select [2, 3 : primes] NrOfPrimes
diff --git a/test/markup/cmake/default.expect.txt b/test/markup/cmake/default.expect.txt
new file mode 100644
index 0000000000..638923c572
--- /dev/null
+++ b/test/markup/cmake/default.expect.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required (VERSION 2.8 .8 )
+project (cmake_example)
+
+
+if (${CMAKE_SYSTEM_NAME} MATCHES Linux)
+ message ("Good choice, bro!" )
+endif ()
+
+
+set (CMAKE_AUTOMOC ON )
+
+
+set (CMAKE_INCLUDE_CURRENT_DIR ON )
+
+
+find_package (Qt5Widgets REQUIRED)
+
+add_executable (myproject main.cpp mainwindow.cpp)
+qt5_use_modules (myproject Widgets)
diff --git a/test/markup/cmake/default.txt b/test/markup/cmake/default.txt
new file mode 100644
index 0000000000..2bbea38c9d
--- /dev/null
+++ b/test/markup/cmake/default.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required(VERSION 2.8.8)
+project(cmake_example)
+
+# Show message on Linux platform
+if (${CMAKE_SYSTEM_NAME} MATCHES Linux)
+ message("Good choice, bro!")
+endif()
+
+# Tell CMake to run moc when necessary:
+set(CMAKE_AUTOMOC ON)
+# As moc files are generated in the binary dir,
+# tell CMake to always look for includes there:
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+# Widgets finds its own dependencies.
+find_package(Qt5Widgets REQUIRED)
+
+add_executable(myproject main.cpp mainwindow.cpp)
+qt5_use_modules(myproject Widgets)
diff --git a/test/markup/coq/default.expect.txt b/test/markup/coq/default.expect.txt
new file mode 100644
index 0000000000..e5b93b13b4
--- /dev/null
+++ b/test/markup/coq/default.expect.txt
@@ -0,0 +1,41 @@
+Inductive seq : nat -> Set :=
+| niln : seq 0
+| consn : forall n : nat, nat -> seq n -> seq (S n).
+
+Fixpoint length (n : nat) (s : seq n) {struct s} : nat :=
+ match s with
+ | niln => 0
+ | consn i _ s' => S (length i s')
+ end .
+
+Theorem length_corr : forall (n : nat) (s : seq n), length n s = n.
+Proof .
+ intros n s.
+
+
+ induction s.
+
+
+ simpl .
+
+
+ trivial .
+
+
+ simpl .
+
+
+ rewrite IHs.
+
+
+ trivial .
+
+
+Qed .
diff --git a/test/markup/coq/default.txt b/test/markup/coq/default.txt
new file mode 100644
index 0000000000..482b23e0eb
--- /dev/null
+++ b/test/markup/coq/default.txt
@@ -0,0 +1,41 @@
+Inductive seq : nat -> Set :=
+| niln : seq 0
+| consn : forall n : nat, nat -> seq n -> seq (S n).
+
+Fixpoint length (n : nat) (s : seq n) {struct s} : nat :=
+ match s with
+ | niln => 0
+ | consn i _ s' => S (length i s')
+ end.
+
+Theorem length_corr : forall (n : nat) (s : seq n), length n s = n.
+Proof.
+ intros n s.
+
+ (* reasoning by induction over s. Then, we have two new goals
+ corresponding on the case analysis about s (either it is
+ niln or some consn *)
+ induction s.
+
+ (* We are in the case where s is void. We can reduce the
+ term: length 0 niln *)
+ simpl.
+
+ (* We obtain the goal 0 = 0. *)
+ trivial.
+
+ (* now, we treat the case s = consn n e s with induction
+ hypothesis IHs *)
+ simpl.
+
+ (* The induction hypothesis has type length n s = n.
+ So we can use it to perform some rewriting in the goal: *)
+ rewrite IHs.
+
+ (* Now the goal is the trivial equality: S n = S n *)
+ trivial.
+
+ (* Now all sub cases are closed, we perform the ultimate
+ step: typing the term built using tactics and save it as
+ a witness of the theorem. *)
+Qed.
diff --git a/test/markup/crmsh/default.expect.txt b/test/markup/crmsh/default.expect.txt
new file mode 100644
index 0000000000..205914835d
--- /dev/null
+++ b/test/markup/crmsh/default.expect.txt
@@ -0,0 +1,48 @@
+node webui
+node 168633611: node1
+rsc_template web-server apache \
+ params port= 8000 \
+ op monitor interval= 10s
+
+primitive development-stonith stonith:null \
+ params hostlist= "webui node1 node2 node3"
+primitive proxy systemd:haproxy \
+ op monitor interval= 10s
+primitive proxy-vip IPaddr2 \
+ params ip= 10.13 .37.20
+primitive srv1 @web-server
+primitive srv2 @web-server
+primitive test1 Dummy
+primitive test2 IPaddr2 \
+ params ip= 10.13 .37.99
+primitive vip1 IPaddr2 \
+ params ip= 10.13 .37.21 \
+ op monitor interval= 20s
+primitive vip2 IPaddr2 \
+ params ip= 10.13 .37.22 \
+ op monitor interval= 20s
+group g-proxy proxy-vip proxy
+group g-serv1 vip1 srv1
+group g-serv2 vip2 srv2
+
+colocation co-serv -inf : g-serv1 g-serv2
+
+location l-avoid-webui { g-proxy g-serv1 g-serv2 } -inf : webui
+
+location l-proxy g-proxy 200 : node1
+location l-serv1 g-serv1 200 : node2
+location l-serv2 g-serv2 200 : node3
+property cib-bootstrap-options: \
+ stonith-enabled= true \
+ no-quorum-policy= ignore \
+ placement-strategy= balanced \
+ have-watchdog= false \
+ dc-version= "1.1.13-1.1.13+git20150827.e8888b9" \
+ cluster-infrastructure= corosync \
+ cluster-name= hacluster
+rsc_defaults rsc-options: \
+ resource-stickiness= 1 \
+ migration-threshold= 3
+op_defaults op-options: \
+ timeout= 600 \
+ record-pending= true
diff --git a/test/markup/crmsh/default.txt b/test/markup/crmsh/default.txt
new file mode 100644
index 0000000000..4e4c286c06
--- /dev/null
+++ b/test/markup/crmsh/default.txt
@@ -0,0 +1,48 @@
+node webui
+node 168633611: node1
+rsc_template web-server apache \
+ params port=8000 \
+ op monitor interval=10s
+# Never use this STONITH agent in production!
+primitive development-stonith stonith:null \
+ params hostlist="webui node1 node2 node3"
+primitive proxy systemd:haproxy \
+ op monitor interval=10s
+primitive proxy-vip IPaddr2 \
+ params ip=10.13.37.20
+primitive srv1 @web-server
+primitive srv2 @web-server
+primitive test1 Dummy
+primitive test2 IPaddr2 \
+ params ip=10.13.37.99
+primitive vip1 IPaddr2 \
+ params ip=10.13.37.21 \
+ op monitor interval=20s
+primitive vip2 IPaddr2 \
+ params ip=10.13.37.22 \
+ op monitor interval=20s
+group g-proxy proxy-vip proxy
+group g-serv1 vip1 srv1
+group g-serv2 vip2 srv2
+# Never put the two web servers on the same node
+colocation co-serv -inf: g-serv1 g-serv2
+# Never put any web server or haproxy on webui
+location l-avoid-webui { g-proxy g-serv1 g-serv2 } -inf: webui
+# Prever to spread groups across nodes
+location l-proxy g-proxy 200: node1
+location l-serv1 g-serv1 200: node2
+location l-serv2 g-serv2 200: node3
+property cib-bootstrap-options: \
+ stonith-enabled=true \
+ no-quorum-policy=ignore \
+ placement-strategy=balanced \
+ have-watchdog=false \
+ dc-version="1.1.13-1.1.13+git20150827.e8888b9" \
+ cluster-infrastructure=corosync \
+ cluster-name=hacluster
+rsc_defaults rsc-options: \
+ resource-stickiness=1 \
+ migration-threshold=3
+op_defaults op-options: \
+ timeout=600 \
+ record-pending=true
diff --git a/test/markup/csp/default.expect.txt b/test/markup/csp/default.expect.txt
new file mode 100644
index 0000000000..b8f346f918
--- /dev/null
+++ b/test/markup/csp/default.expect.txt
@@ -0,0 +1,5 @@
+Content-Security-Policy :
+ default-src 'self' ;
+ style-src 'self' css.example.com;
+ img-src *.example.com;
+ script-src 'unsafe-eval' 'self' js.example.com 'nonce-Nc3n83cnSAd3wc3Sasdfn939hc3'
diff --git a/test/markup/csp/default.txt b/test/markup/csp/default.txt
new file mode 100644
index 0000000000..8e68bad89e
--- /dev/null
+++ b/test/markup/csp/default.txt
@@ -0,0 +1,5 @@
+Content-Security-Policy:
+ default-src 'self';
+ style-src 'self' css.example.com;
+ img-src *.example.com;
+ script-src 'unsafe-eval' 'self' js.example.com 'nonce-Nc3n83cnSAd3wc3Sasdfn939hc3'
diff --git a/test/markup/d/default.expect.txt b/test/markup/d/default.expect.txt
new file mode 100644
index 0000000000..17840372f3
--- /dev/null
+++ b/test/markup/d/default.expect.txt
@@ -0,0 +1,44 @@
+#!/usr/bin/rdmd
+
+import std.stdio;
+
+
+
+enum COMPILED_ON = __TIMESTAMP__ ;
+
+enum character = '©' ;
+enum copy_valid = '©' ;
+enum backslash_escaped = '\\' ;
+
+
+enum str = `hello "world"!` ;
+enum multiline = r"lorem
+ipsum
+dolor" ;
+enum multiline2 = "sit
+amet
+\"adipiscing\"
+elit." ;
+enum hex = x"66 6f 6f" ;
+
+#line 5
+
+
+enum f = [3.14f , .1 , 1. , 1e100 , 0xc0de.01p+100 ];
+
+static if (something == true ) {
+ import std.algorithm;
+}
+
+void main() pure nothrow @safe {
+ ulong lines = 0 ;
+ double sumLength = 0 ;
+ foreach (line; stdin.byLine()) {
+ ++lines;
+ sumLength += line.length;
+ }
+ writeln("Average line length: " ,
+ lines ? sumLength / lines : 0 );
+}
diff --git a/test/markup/d/default.txt b/test/markup/d/default.txt
new file mode 100644
index 0000000000..92cc8d84eb
--- /dev/null
+++ b/test/markup/d/default.txt
@@ -0,0 +1,44 @@
+#!/usr/bin/rdmd
+// Computes average line length for standard input.
+import std.stdio;
+
+/+
+ this is a /+ nesting +/ comment
++/
+
+enum COMPILED_ON = __TIMESTAMP__; // special token
+
+enum character = '©';
+enum copy_valid = '©';
+enum backslash_escaped = '\\';
+
+// string literals
+enum str = `hello "world"!`;
+enum multiline = r"lorem
+ipsum
+dolor"; // wysiwyg string, no escapes here allowed
+enum multiline2 = "sit
+amet
+\"adipiscing\"
+elit.";
+enum hex = x"66 6f 6f"; // same as "foo"
+
+#line 5
+
+// float literals
+enum f = [3.14f, .1, 1., 1e100, 0xc0de.01p+100];
+
+static if (something == true) {
+ import std.algorithm;
+}
+
+void main() pure nothrow @safe {
+ ulong lines = 0;
+ double sumLength = 0;
+ foreach (line; stdin.byLine()) {
+ ++lines;
+ sumLength += line.length;
+ }
+ writeln("Average line length: ",
+ lines ? sumLength / lines : 0);
+}
diff --git a/test/markup/django/default.expect.txt b/test/markup/django/default.expect.txt
new file mode 100644
index 0000000000..da4820d864
--- /dev/null
+++ b/test/markup/django/default.expect.txt
@@ -0,0 +1,16 @@
+{% if articles|length %}
+ {% for article in articles %}
+
+ {% custom %}
+
+
+<tr class =" {% cycle odd,even %} " >
+ <td > {{ article|default :"Hi... " }} </td >
+ <td {% if article.today %} class ="today" {% endif %} >
+ Published on {{ article.date }}
+ </td >
+</tr >
+
+ {% endfor %}
+ {% endif %}
+
\ No newline at end of file
diff --git a/test/markup/django/default.txt b/test/markup/django/default.txt
new file mode 100644
index 0000000000..981105ad55
--- /dev/null
+++ b/test/markup/django/default.txt
@@ -0,0 +1,15 @@
+{% if articles|length %}
+{% for article in articles %}
+
+{% custom %}
+
+{# Striped table #}
+
+ {{ article|default:"Hi... " }}
+
+ Published on {{ article.date }}
+
+
+
+{% endfor %}
+{% endif %}
diff --git a/test/markup/dns/default.expect.txt b/test/markup/dns/default.expect.txt
new file mode 100644
index 0000000000..d302de0777
--- /dev/null
+++ b/test/markup/dns/default.expect.txt
@@ -0,0 +1,17 @@
+$ORIGIN example.com.
+$TTL 1h
+example.com. IN SOA ns.example.com. username.example.com. ( 2007120710 1d 2h 4w 1h )
+example.com. IN NS ns
+example.com. IN NS ns.somewhere.example.
+example.com. IN MX 10 mail.example.com.
+@ IN MX 20 mail2.example.com.
+@ IN MX 50 mail3
+example.com. IN A 192.0.2.1
+ IN AAAA 2001:db8:10::1
+ns IN A 192.0.2.2
+ IN AAAA 2001:db8:10::2
+www IN CNAME example.com.
+wwwtest IN CNAME www
+mail IN A 192.0.2.3
+mail2 IN A 192.0.2.4
+mail3 IN A 192.0.2.5
diff --git a/test/markup/dns/default.txt b/test/markup/dns/default.txt
new file mode 100644
index 0000000000..61d27529e1
--- /dev/null
+++ b/test/markup/dns/default.txt
@@ -0,0 +1,17 @@
+$ORIGIN example.com. ; designates the start of this zone file in the namespace
+$TTL 1h ; default expiration time of all resource records without their own TTL value
+example.com. IN SOA ns.example.com. username.example.com. ( 2007120710 1d 2h 4w 1h )
+example.com. IN NS ns ; ns.example.com is a nameserver for example.com
+example.com. IN NS ns.somewhere.example. ; ns.somewhere.example is a backup nameserver for example.com
+example.com. IN MX 10 mail.example.com. ; mail.example.com is the mailserver for example.com
+@ IN MX 20 mail2.example.com. ; equivalent to above line, "@" represents zone origin
+@ IN MX 50 mail3 ; equivalent to above line, but using a relative host name
+example.com. IN A 192.0.2.1 ; IPv4 address for example.com
+ IN AAAA 2001:db8:10::1 ; IPv6 address for example.com
+ns IN A 192.0.2.2 ; IPv4 address for ns.example.com
+ IN AAAA 2001:db8:10::2 ; IPv6 address for ns.example.com
+www IN CNAME example.com. ; www.example.com is an alias for example.com
+wwwtest IN CNAME www ; wwwtest.example.com is another alias for www.example.com
+mail IN A 192.0.2.3 ; IPv4 address for mail.example.com
+mail2 IN A 192.0.2.4 ; IPv4 address for mail2.example.com
+mail3 IN A 192.0.2.5 ; IPv4 address for mail3.example.com
diff --git a/test/markup/dts/default.expect.txt b/test/markup/dts/default.expect.txt
new file mode 100644
index 0000000000..58cc15f829
--- /dev/null
+++ b/test/markup/dts/default.expect.txt
@@ -0,0 +1,71 @@
+
+/include/ "skeleton.dtsi"
+
+/ {
+ compatible = "xlnx,zynq-7000" ;
+
+ pmu {
+ compatible = "arm,cortex-a9-pmu" ;
+ interrupts = <0 5 4 > , <0 6 4 > ;
+ interrupt-parent = <&intc > ;
+ reg = < 0xf8891000 0x1000 0xf8893000 0x1000 > ;
+ };
+
+ regulator_vccpint: fixedregulator@0 {
+ compatible = "regulator-fixed" ;
+ regulator-name = "VCCPINT" ;
+ regulator-min-microvolt = <1000000 > ;
+ regulator-max-microvolt = <1000000 > ;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ amba: amba {
+ compatible = "simple-bus" ;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ interrupt-parent = <&intc > ;
+ ranges;
+
+ adc: adc@f8007100 {
+ compatible = "xlnx,zynq-xadc-1.00.a" ;
+ reg = <0xf8007100 0x20 > ;
+ interrupts = <0 7 4 > ;
+ interrupt-parent = <&intc > ;
+ clocks = <&clkc 12 > ;
+ };
+
+ i2c0: i2c@e0004000 {
+ compatible = "cdns,i2c-r1p10" ;
+ status = "disabled" ;
+ clocks = <&clkc 38 > ;
+ interrupt-parent = <&intc > ;
+ interrupts = <0 25 4 > ;
+ reg = <0xe0004000 0x1000 > ;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ L2: cache-controller@f8f02000 {
+ compatible = "arm,pl310-cache" ;
+ reg = <0xF8F02000 0x1000 > ;
+ interrupts = <0 2 4 > ;
+ arm,data-latency = <3 2 2 > ;
+ arm,tag-latency = <2 2 2 > ;
+ cache-unified;
+ cache-level = <2 > ;
+ };
+
+ };
+};
diff --git a/test/markup/dts/default.txt b/test/markup/dts/default.txt
new file mode 100644
index 0000000000..807826f9f4
--- /dev/null
+++ b/test/markup/dts/default.txt
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2011 - 2014 Xilinx
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+/include/ "skeleton.dtsi"
+
+/ {
+ compatible = "xlnx,zynq-7000";
+
+ pmu {
+ compatible = "arm,cortex-a9-pmu";
+ interrupts = <0 5 4>, <0 6 4>;
+ interrupt-parent = <&intc>;
+ reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >;
+ };
+
+ regulator_vccpint: fixedregulator@0 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCCPINT";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ amba: amba {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ interrupt-parent = <&intc>;
+ ranges;
+
+ adc: adc@f8007100 {
+ compatible = "xlnx,zynq-xadc-1.00.a";
+ reg = <0xf8007100 0x20>;
+ interrupts = <0 7 4>;
+ interrupt-parent = <&intc>;
+ clocks = <&clkc 12>;
+ };
+
+ i2c0: i2c@e0004000 {
+ compatible = "cdns,i2c-r1p10";
+ status = "disabled";
+ clocks = <&clkc 38>;
+ interrupt-parent = <&intc>;
+ interrupts = <0 25 4>;
+ reg = <0xe0004000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ L2: cache-controller@f8f02000 {
+ compatible = "arm,pl310-cache";
+ reg = <0xF8F02000 0x1000>;
+ interrupts = <0 2 4>;
+ arm,data-latency = <3 2 2>;
+ arm,tag-latency = <2 2 2>;
+ cache-unified;
+ cache-level = <2>;
+ };
+
+ };
+};
diff --git a/test/markup/dust/default.expect.txt b/test/markup/dust/default.expect.txt
new file mode 100644
index 0000000000..34ca1941de
--- /dev/null
+++ b/test/markup/dust/default.expect.txt
@@ -0,0 +1,8 @@
+<h3 > Hours</h3 >
+
+<ul >
+ {#users }
+ <li {hello} > {firstName} </li > {~n}
+ {/users }
+</ul >
+
\ No newline at end of file
diff --git a/test/markup/dust/default.txt b/test/markup/dust/default.txt
new file mode 100644
index 0000000000..11bc7eb03f
--- /dev/null
+++ b/test/markup/dust/default.txt
@@ -0,0 +1,7 @@
+Hours
+
+
+ {#users}
+ {firstName} {~n}
+ {/users}
+
diff --git a/test/markup/elm/default.expect.txt b/test/markup/elm/default.expect.txt
new file mode 100644
index 0000000000..eeacdd7969
--- /dev/null
+++ b/test/markup/elm/default.expect.txt
@@ -0,0 +1,22 @@
+import Browser
+import Html exposing (div, button, text)
+import Html.Events exposing (onClick)
+
+type Msg
+ = Increment
+
+main =
+ Browser .sandbox
+ { init = 0
+ , update = \msg model -> model + 1
+ , view = view
+ }
+
+view model =
+ div []
+ [ div [] [ text (String .fromInt model) ]
+ , button [ onClick Increment ] [ text "+" ]
+ ]
+
+chars =
+ String .cons 'C' <| String .cons 'h' <| "ars"
diff --git a/test/markup/elm/default.txt b/test/markup/elm/default.txt
new file mode 100644
index 0000000000..5d9c384057
--- /dev/null
+++ b/test/markup/elm/default.txt
@@ -0,0 +1,22 @@
+import Browser
+import Html exposing (div, button, text)
+import Html.Events exposing (onClick)
+
+type Msg
+ = Increment
+
+main =
+ Browser.sandbox
+ { init = 0
+ , update = \msg model -> model + 1
+ , view = view
+ }
+
+view model =
+ div []
+ [ div [] [ text (String.fromInt model) ]
+ , button [ onClick Increment ] [ text "+" ]
+ ]
+
+chars =
+ String.cons 'C' <| String.cons 'h' <| "ars"
diff --git a/test/markup/erb/default.expect.txt b/test/markup/erb/default.expect.txt
new file mode 100644
index 0000000000..e50aa3b60b
--- /dev/null
+++ b/test/markup/erb/default.expect.txt
@@ -0,0 +1,11 @@
+
+
+<% @posts .each do |post| %>
+ <p > <%= link_to post.title, post %></p >
+<% end %>
+
+<%- available_things = things.select(&:available? ) -%>
+<%% - x = 1 + 2 - %%>
+<%% value = 'real string #{@value } ' %%>
+<%% = available_things.inspect %%>
+
\ No newline at end of file
diff --git a/test/markup/erb/default.txt b/test/markup/erb/default.txt
new file mode 100644
index 0000000000..f7ea6203f5
--- /dev/null
+++ b/test/markup/erb/default.txt
@@ -0,0 +1,10 @@
+<%# this is a comment %>
+
+<% @posts.each do |post| %>
+ <%= link_to post.title, post %>
+<% end %>
+
+<%- available_things = things.select(&:available?) -%>
+<%%- x = 1 + 2 -%%>
+<%% value = 'real string #{@value}' %%>
+<%%= available_things.inspect %%>
diff --git a/test/markup/erlang-repl/default.expect.txt b/test/markup/erlang-repl/default.expect.txt
new file mode 100644
index 0000000000..4ed648e14d
--- /dev/null
+++ b/test/markup/erlang-repl/default.expect.txt
@@ -0,0 +1,27 @@
+1> Str = "abcd" .
+"abcd"
+2> L = test:length(Str).
+4
+3> Descriptor = {L, list_to_atom(Str)}.
+{4 ,abcd}
+4> L.
+4
+5> b().
+Descriptor = {4 ,abcd}
+L = 4
+Str = "abcd"
+ok
+6> f(L).
+ok
+7> b().
+Descriptor = {4 ,abcd}
+Str = "abcd"
+ok
+8> {L, _} = Descriptor.
+{4 ,abcd}
+9> L.
+4
+10> 2#101 .
+5
+11> 1.85e+3 .
+1850
diff --git a/test/markup/erlang-repl/default.txt b/test/markup/erlang-repl/default.txt
new file mode 100644
index 0000000000..8f2bef358f
--- /dev/null
+++ b/test/markup/erlang-repl/default.txt
@@ -0,0 +1,27 @@
+1> Str = "abcd".
+"abcd"
+2> L = test:length(Str).
+4
+3> Descriptor = {L, list_to_atom(Str)}.
+{4,abcd}
+4> L.
+4
+5> b().
+Descriptor = {4,abcd}
+L = 4
+Str = "abcd"
+ok
+6> f(L).
+ok
+7> b().
+Descriptor = {4,abcd}
+Str = "abcd"
+ok
+8> {L, _} = Descriptor.
+{4,abcd}
+9> L.
+4
+10> 2#101.
+5
+11> 1.85e+3.
+1850
diff --git a/test/markup/fix/default.expect.txt b/test/markup/fix/default.expect.txt
new file mode 100644
index 0000000000..855eec184e
--- /dev/null
+++ b/test/markup/fix/default.expect.txt
@@ -0,0 +1,4 @@
+8 =FIX.4.2 ␁9 =0 ␁35 =8 ␁49 =SENDERTEST ␁56 =TARGETTEST ␁34 =00000001526 ␁52 =20120429-13:30:08.137 ␁1 =ABC12345 ␁11 =2012abc1234 ␁14 =100 ␁17 =201254321 ␁20 =0 ␁30 =NYSE ␁31 =108.20 ␁32 =100 ␁38 =100 ␁39 =2 ␁40 =1 ␁47 =A ␁54 =5 ␁55 =BRK ␁59 =2 ␁60 =20120429-13:30:08.000 ␁65 =B ␁76 =BROKER ␁84 =0 ␁100 =NYSE ␁111 =100 ␁150 =2 ␁151 =0 ␁167 =CS ␁377 =N ␁10000 =SampleCustomTag ␁10 =123 ␁
+
+8 =FIX.4.2 9 =0 35 =8 49 =SENDERTEST 56 =TARGETTEST 34 =00000001526 52 =20120429-13:30:08.137 1 =ABC12345 11 =2012abc1234 14 =100 17 =201254321 20 =0 30 =NYSE 31 =108.20 32 =100 38 =100 39 =2 40 =1 47 =A 54 =5 55 =BRK 59 =2 60 =20120429-13:30:08.000 65 =B 76 =BROKER 84 =0 100 =NYSE 111 =100 150 =2 151 =0 167 =CS 377 =N 10000 =SampleCustomTag 10 =123
+
\ No newline at end of file
diff --git a/test/markup/fix/default.txt b/test/markup/fix/default.txt
new file mode 100644
index 0000000000..e93a625456
--- /dev/null
+++ b/test/markup/fix/default.txt
@@ -0,0 +1,4 @@
+8=FIX.4.2␁9=0␁35=8␁49=SENDERTEST␁56=TARGETTEST␁34=00000001526␁52=20120429-13:30:08.137␁1=ABC12345␁11=2012abc1234␁14=100␁17=201254321␁20=0␁30=NYSE␁31=108.20␁32=100␁38=100␁39=2␁40=1␁47=A␁54=5␁55=BRK␁59=2␁60=20120429-13:30:08.000␁65=B␁76=BROKER␁84=0␁100=NYSE␁111=100␁150=2␁151=0␁167=CS␁377=N␁10000=SampleCustomTag␁10=123␁
+
+8=FIX.4.29=035=849=SENDERTEST56=TARGETTEST34=0000000152652=20120429-13:30:08.1371=ABC1234511=2012abc123414=10017=20125432120=030=NYSE31=108.2032=10038=10039=240=147=A54=555=BRK59=260=20120429-13:30:08.00065=B76=BROKER84=0100=NYSE111=100150=2151=0167=CS377=N10000=SampleCustomTag10=123
+
\ No newline at end of file
diff --git a/test/markup/flix/default.expect.txt b/test/markup/flix/default.expect.txt
new file mode 100644
index 0000000000..dfec7e5cbc
--- /dev/null
+++ b/test/markup/flix/default.expect.txt
@@ -0,0 +1,49 @@
+
+
+
+namespace a.b.c {
+
+
+ def b : Bool = true
+ def c : Char = 'a'
+ def f : Float = 1.23
+ def i : Int = 42
+ def s : Str = "string"
+
+
+ rel LitStm(r: Str, c: Int)
+ rel AddStm(r: Str, x: Str, y: Str)
+ rel DivStm(r: Str, x: Str, y: Str)
+
+
+ lat LocalVar(k: Str, v: Constant)
+
+
+ index LitStm{{r}, {r, c}}
+
+
+ enum Constant {
+ case Top,
+
+ case Cst(Int),
+
+ case Bot
+ }
+
+
+ def leq (e1: Constant, e2: Constant): Bool = match (e1, e2) with {
+ case (Constant.Bot, _) => true
+ case (Constant.Cst(n1), Constant.Cst(n2)) => n1 == n2
+ case (_, Constant.Top) => true
+ case _ => false
+ }
+
+
+ LocalVar(r, alpha(c)) :- LitStm(r, c).
+
+ LocalVar(r, sum(v1, v2)) :- AddStm(r, x, y),
+ LocalVar(x, v1),
+ LocalVar(y, v2).
+}
diff --git a/test/markup/flix/default.txt b/test/markup/flix/default.txt
new file mode 100644
index 0000000000..77d7f1a42b
--- /dev/null
+++ b/test/markup/flix/default.txt
@@ -0,0 +1,49 @@
+/**
+ * An example of Flix for syntax highlighting.
+ */
+
+// Here is a namespace.
+namespace a.b.c {
+
+ // Here are some literals.
+ def b: Bool = true
+ def c: Char = 'a'
+ def f: Float = 1.23
+ def i: Int = 42
+ def s: Str = "string"
+
+ // Here are some relations.
+ rel LitStm(r: Str, c: Int)
+ rel AddStm(r: Str, x: Str, y: Str)
+ rel DivStm(r: Str, x: Str, y: Str)
+
+ // Here is a lattice.
+ lat LocalVar(k: Str, v: Constant)
+
+ // Here is an index.
+ index LitStm{{r}, {r, c}}
+
+ // Here is an enum.
+ enum Constant {
+ case Top,
+
+ case Cst(Int),
+
+ case Bot
+ }
+
+ // Here is a function.
+ def leq(e1: Constant, e2: Constant): Bool = match (e1, e2) with {
+ case (Constant.Bot, _) => true
+ case (Constant.Cst(n1), Constant.Cst(n2)) => n1 == n2
+ case (_, Constant.Top) => true
+ case _ => false
+ }
+
+ // Here are some rules.
+ LocalVar(r, alpha(c)) :- LitStm(r, c).
+
+ LocalVar(r, sum(v1, v2)) :- AddStm(r, x, y),
+ LocalVar(x, v1),
+ LocalVar(y, v2).
+}
diff --git a/test/markup/gams/default.expect.txt b/test/markup/gams/default.expect.txt
new file mode 100644
index 0000000000..a0427e94a1
--- /dev/null
+++ b/test/markup/gams/default.expect.txt
@@ -0,0 +1,31 @@
+SETS
+ I / SEATTLE, SAN-DIEGO /
+ J / NEW-YORK, CHICAGO, TOPEKA / ;
+PARAMETERS
+ A(I)
+ / SEATTLE 350
+ SAN-DIEGO 600 /
+ B(J)
+ / NEW-YORK 325
+ CHICAGO 300
+ TOPEKA 275 / ;
+TABLE D(I,J)
+ NEW-YORK CHICAGO TOPEKA
+ SEATTLE 2.5 1.7 1.8
+ SAN-DIEGO 2.5 1.8 1.4 ;
+SCALAR F /90 / ;
+PARAMETER C(I,J) ;
+ C(I,J) = F * D(I,J) / 1000 ;
+VARIABLES
+ X(I,J)
+ Z ;
+POSITIVE VARIABLE X ;
+EQUATIONS
+ COST
+ SUPPLY(I)
+ DEMAND(J) ;
+COST .. Z =E= SUM ((I,J), C(I,J)*X(I,J)) ;
+SUPPLY (I ) .. SUM (J, X(I,J)) =L= A(I) ;
+DEMAND (J ) .. SUM (I, X(I,J)) =G= B(J) ;
+MODEL TRANSPORT /ALL / ;
+SOLVE TRANSPORT USING LP MINIMIZING Z ;
diff --git a/test/markup/gams/default.txt b/test/markup/gams/default.txt
new file mode 100644
index 0000000000..9de006e4d5
--- /dev/null
+++ b/test/markup/gams/default.txt
@@ -0,0 +1,31 @@
+SETS
+ I canning plants / SEATTLE, SAN-DIEGO /
+ J markets / NEW-YORK, CHICAGO, TOPEKA / ;
+PARAMETERS
+ A(I) capacity of plant i in cases
+ / SEATTLE 350
+ SAN-DIEGO 600 /
+ B(J) demand at market j in cases
+ / NEW-YORK 325
+ CHICAGO 300
+ TOPEKA 275 / ;
+TABLE D(I,J) distance in thousands of miles
+ NEW-YORK CHICAGO TOPEKA
+ SEATTLE 2.5 1.7 1.8
+ SAN-DIEGO 2.5 1.8 1.4 ;
+SCALAR F freight in dollars per case per thousand miles /90/ ;
+PARAMETER C(I,J) transport cost in thousands of dollars per case ;
+ C(I,J) = F * D(I,J) / 1000 ;
+VARIABLES
+ X(I,J) shipment quantities in cases
+ Z total transportation costs in thousands of dollars ;
+POSITIVE VARIABLE X ;
+EQUATIONS
+ COST define objective function
+ SUPPLY(I) observe supply limit at plant i
+ DEMAND(J) satisfy demand at market j ;
+COST .. Z =E= SUM((I,J), C(I,J)*X(I,J)) ;
+SUPPLY(I) .. SUM(J, X(I,J)) =L= A(I) ;
+DEMAND(J) .. SUM(I, X(I,J)) =G= B(J) ;
+MODEL TRANSPORT /ALL/ ;
+SOLVE TRANSPORT USING LP MINIMIZING Z ;
diff --git a/test/markup/gcode/default.expect.txt b/test/markup/gcode/default.expect.txt
new file mode 100644
index 0000000000..ad4d148f8c
--- /dev/null
+++ b/test/markup/gcode/default.expect.txt
@@ -0,0 +1,31 @@
+O003
+N2 G54 G90 G49 G80
+N3 M6 T1
+N4 M3 S1800
+N5 G0 X-.6 Y2.050
+N6 G43 H1 Z.1
+N7 G1 Z-.3 F50.
+N8 G41 D1 Y1.45
+N9 G1 X0 F20.
+N10 G2 J-1.45
+
+N11 G1 Z-.2 F50.
+N12 Y-.990
+N13 G40
+N14 G0 X-.6 Y1.590
+N15 G0 Z.1
+N16 M5 G49 G28 G91 Z0
+N17 CALL O9456
+N18 #500 =0.004
+N19 #503 =[#500 +#501 ]
+N20 VC45 =0.0006
+VS4 =0.0007
+N21 G90 G10 L20 P3 X5. Y4. Z6.567
+N22 G0 X5000
+N23 IF [#1 LT 0.370 ] GOTO 49
+N24 X-0.678 Y+.990
+N25 G84.3 X-0.1
+N26 #4 =#5 *COS[45]
+N27 #4 =#5 *SIN[45]
+N28 VZOFZ =652.9658
+%
diff --git a/test/markup/gcode/default.txt b/test/markup/gcode/default.txt
new file mode 100644
index 0000000000..c2652462c2
--- /dev/null
+++ b/test/markup/gcode/default.txt
@@ -0,0 +1,31 @@
+O003 (DIAMOND SQUARE)
+N2 G54 G90 G49 G80
+N3 M6 T1 (1.ENDMILL)
+N4 M3 S1800
+N5 G0 X-.6 Y2.050
+N6 G43 H1 Z.1
+N7 G1 Z-.3 F50.
+N8 G41 D1 Y1.45
+N9 G1 X0 F20.
+N10 G2 J-1.45
+(CUTTER COMP CANCEL)
+N11 G1 Z-.2 F50.
+N12 Y-.990
+N13 G40
+N14 G0 X-.6 Y1.590
+N15 G0 Z.1
+N16 M5 G49 G28 G91 Z0
+N17 CALL O9456
+N18 #500=0.004
+N19 #503=[#500+#501]
+N20 VC45=0.0006
+VS4=0.0007
+N21 G90 G10 L20 P3 X5.Y4. Z6.567
+N22 G0 X5000
+N23 IF [#1 LT 0.370] GOTO 49
+N24 X-0.678 Y+.990
+N25 G84.3 X-0.1
+N26 #4=#5*COS[45]
+N27 #4=#5*SIN[45]
+N28 VZOFZ=652.9658
+%
diff --git a/test/markup/gherkin/default.expect.txt b/test/markup/gherkin/default.expect.txt
new file mode 100644
index 0000000000..2da0e9ddad
--- /dev/null
+++ b/test/markup/gherkin/default.expect.txt
@@ -0,0 +1,25 @@
+
+Feature : Addition
+ In order to avoid silly mistakes
+ As a math idiot
+ I want to be told the sum of two numbers
+
+ @this_is_a_tag
+ Scenario Outline : Add two numbers
+ * I have a calculator
+ Given I have entered <input_1> into the calculator
+ And I have entered <input_2> into the calculator
+ When I press <button>
+ Then the result should be <output> on the screen
+ And I have a string like
+ """
+ Here is
+ some
+ multiline text
+ """
+
+ Examples :
+ | input_1 | input_2 | button | output |
+ | 20 | 30 | add | 50 |
+ | 2 | 5 | add | 7 |
+ | 0 | 40 | add | 40 |
diff --git a/test/markup/gherkin/default.txt b/test/markup/gherkin/default.txt
new file mode 100644
index 0000000000..52981fd11e
--- /dev/null
+++ b/test/markup/gherkin/default.txt
@@ -0,0 +1,25 @@
+# language: en
+Feature: Addition
+ In order to avoid silly mistakes
+ As a math idiot
+ I want to be told the sum of two numbers
+
+ @this_is_a_tag
+ Scenario Outline: Add two numbers
+ * I have a calculator
+ Given I have entered into the calculator
+ And I have entered into the calculator
+ When I press
+ Then the result should be on the screen
+ And I have a string like
+ """
+ Here is
+ some
+ multiline text
+ """
+
+ Examples:
+ | input_1 | input_2 | button | output |
+ | 20 | 30 | add | 50 |
+ | 2 | 5 | add | 7 |
+ | 0 | 40 | add | 40 |
diff --git a/test/markup/glsl/default.expect.txt b/test/markup/glsl/default.expect.txt
new file mode 100644
index 0000000000..927add7a61
--- /dev/null
+++ b/test/markup/glsl/default.expect.txt
@@ -0,0 +1,37 @@
+
+#version 150
+in vec2 in_Position;
+in vec3 in_Color;
+
+out vec3 ex_Color;
+void main(void ) {
+ gl_Position = vec4 (in_Position.x, in_Position.y, 0.0 , 1.0 );
+ ex_Color = in_Color;
+}
+
+
+
+#version 150
+
+layout (triangles ) in ;
+layout (triangle_strip , max_vertices = 3 ) out ;
+
+void main() {
+ for (int i = 0 ; i < gl_in .length (); i++) {
+ gl_Position = gl_in [i].gl_Position ;
+ EmitVertex ();
+ }
+ EndPrimitive ();
+}
+
+
+
+#version 150
+precision highp float ;
+
+in vec3 ex_Color;
+out vec4 gl_FragColor ;
+
+void main(void ) {
+ gl_FragColor = vec4 (ex_Color, 1.0 );
+}
diff --git a/test/markup/glsl/default.txt b/test/markup/glsl/default.txt
new file mode 100644
index 0000000000..ddaf24645d
--- /dev/null
+++ b/test/markup/glsl/default.txt
@@ -0,0 +1,37 @@
+// vertex shader
+#version 150
+in vec2 in_Position;
+in vec3 in_Color;
+
+out vec3 ex_Color;
+void main(void) {
+ gl_Position = vec4(in_Position.x, in_Position.y, 0.0, 1.0);
+ ex_Color = in_Color;
+}
+
+
+// geometry shader
+#version 150
+
+layout(triangles) in;
+layout(triangle_strip, max_vertices = 3) out;
+
+void main() {
+ for(int i = 0; i < gl_in.length(); i++) {
+ gl_Position = gl_in[i].gl_Position;
+ EmitVertex();
+ }
+ EndPrimitive();
+}
+
+
+// fragment shader
+#version 150
+precision highp float;
+
+in vec3 ex_Color;
+out vec4 gl_FragColor;
+
+void main(void) {
+ gl_FragColor = vec4(ex_Color, 1.0);
+}
diff --git a/test/markup/gml/default.expect.txt b/test/markup/gml/default.expect.txt
new file mode 100644
index 0000000000..82b6399cfc
--- /dev/null
+++ b/test/markup/gml/default.expect.txt
@@ -0,0 +1,22 @@
+
+
+
+
+if (place_meeting (x +hspd, y , obj_wall)) {
+ while (!place_meeting (x +sign (hspd), y , obj_wall)) {
+ x += sign (hspd);
+ }
+ hspd = 0 ;
+}
+x += hspd;
+
+
+if (place_meeting (x , y +vspd, collide_obj)) {
+ while (!place_meeting (x , y +sign (vspd), collide_obj)) {
+ y += sign (vspd);
+ }
+ vspd = 0 ;
+}
+y += vspd;
+
+show_debug_message ("This is a test" );
\ No newline at end of file
diff --git a/test/markup/gml/default.txt b/test/markup/gml/default.txt
new file mode 100644
index 0000000000..354acb9ac4
--- /dev/null
+++ b/test/markup/gml/default.txt
@@ -0,0 +1,22 @@
+/// @description Collision code
+// standard collision handling
+
+// Horizontal collisions
+if(place_meeting(x+hspd, y, obj_wall)) {
+ while(!place_meeting(x+sign(hspd), y, obj_wall)) {
+ x += sign(hspd);
+ }
+ hspd = 0;
+}
+x += hspd;
+
+// Vertical collisions
+if(place_meeting(x, y+vspd, collide_obj)) {
+ while(!place_meeting(x, y+sign(vspd), collide_obj)) {
+ y += sign(vspd);
+ }
+ vspd = 0;
+}
+y += vspd;
+
+show_debug_message("This is a test");
\ No newline at end of file
diff --git a/test/markup/gradle/default.expect.txt b/test/markup/gradle/default.expect.txt
new file mode 100644
index 0000000000..a6cae73216
--- /dev/null
+++ b/test/markup/gradle/default.expect.txt
@@ -0,0 +1,62 @@
+
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 19
+ buildToolsVersion "19.1"
+
+ defaultConfig {
+ minSdkVersion 15
+ targetSdkVersion 19
+ versionCode 5
+ versionName "0.4.4"
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_7
+ targetCompatibility JavaVersion.VERSION_1_7
+ }
+ signingConfigs {
+ release
+ }
+ buildTypes {
+ release {
+
+ proguardFiles getDefaultProguardFile('proguard-android.txt' ), 'proguard-rules.txt'
+ signingConfig signingConfigs.release
+ }
+ }
+}
+
+dependencies {
+ compile fileTree (dir: 'libs' , include : ['*.jar' ])
+
+ compile 'com.example:example-lib:1.0.0'
+}
+
+
+def propFile = file ('../signing.properties' )
+if ( propFile.canRead() ) {
+ def Properties p = new Properties()
+ p.load(new FileInputStream(propFile))
+
+ if ( p!=null
+ && p.containsKey("STORE_FILE" )
+ && p.containsKey('STORE_PASSWORD' )
+ && p.containsKey('KEY_ALIAS' )
+ && p.containsKey('KEY_PASSWORD' )
+ ) {
+ println "RELEASE_BUILD: Signing..."
+
+ android.signingConfigs.release.storeFile = file ( p['STORE_FILE' ] )
+ android.signingConfigs.release.storePassword = p['STORE_PASSWORD' ]
+ android.signingConfigs.release.keyAlias = p['KEY_ALIAS' ]
+ android.signingConfigs.release.keyPassword = p['KEY_PASSWORD' ]
+ } else {
+ println "RELEASE_BUILD: Required properties in signing.properties are missing"
+ android.buildTypes.release.signingConfig = null
+ }
+} else {
+ println "RELEASE_BUILD: signing.properties not found"
+ android.buildTypes.release.signingProperties = null
+}
diff --git a/test/markup/gradle/default.txt b/test/markup/gradle/default.txt
new file mode 100644
index 0000000000..e317ef0eae
--- /dev/null
+++ b/test/markup/gradle/default.txt
@@ -0,0 +1,62 @@
+
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 19
+ buildToolsVersion "19.1"
+
+ defaultConfig {
+ minSdkVersion 15
+ targetSdkVersion 19
+ versionCode 5
+ versionName "0.4.4"
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_7
+ targetCompatibility JavaVersion.VERSION_1_7
+ }
+ signingConfigs {
+ release
+ }
+ buildTypes {
+ release {
+ // runProguard true
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
+ signingConfig signingConfigs.release
+ }
+ }
+}
+
+dependencies {
+ compile fileTree(dir: 'libs', include: ['*.jar'])
+
+ compile 'com.example:example-lib:1.0.0'
+}
+
+
+def propFile = file('../signing.properties')
+if( propFile.canRead() ) {
+ def Properties p = new Properties()
+ p.load(new FileInputStream(propFile))
+
+ if( p!=null
+ && p.containsKey("STORE_FILE")
+ && p.containsKey('STORE_PASSWORD')
+ && p.containsKey('KEY_ALIAS')
+ && p.containsKey('KEY_PASSWORD')
+ ) {
+ println "RELEASE_BUILD: Signing..."
+
+ android.signingConfigs.release.storeFile = file( p['STORE_FILE'] )
+ android.signingConfigs.release.storePassword = p['STORE_PASSWORD']
+ android.signingConfigs.release.keyAlias = p['KEY_ALIAS']
+ android.signingConfigs.release.keyPassword = p['KEY_PASSWORD']
+ } else {
+ println "RELEASE_BUILD: Required properties in signing.properties are missing"
+ android.buildTypes.release.signingConfig = null
+ }
+} else {
+ println "RELEASE_BUILD: signing.properties not found"
+ android.buildTypes.release.signingProperties = null
+}
diff --git a/test/markup/haml/default.expect.txt b/test/markup/haml/default.expect.txt
new file mode 100644
index 0000000000..e6bae1d448
--- /dev/null
+++ b/test/markup/haml/default.expect.txt
@@ -0,0 +1,14 @@
+!!! XML
+%html
+ %body
+ %h1 .jumbo {:id =>"a" , :style =>'font-weight: normal' , :title =>title} highlight.js
+
+
+ %ul (style ='margin: 0' )
+ -items.each do |i|
+ %i = i
+ = variable
+ =variable2
+ ~ variable3
+ ~variable4
+ The current year is #{DataTime.now.year} .
diff --git a/test/markup/haml/default.txt b/test/markup/haml/default.txt
new file mode 100644
index 0000000000..fb4bab3289
--- /dev/null
+++ b/test/markup/haml/default.txt
@@ -0,0 +1,14 @@
+!!! XML
+%html
+ %body
+ %h1.jumbo{:id=>"a", :style=>'font-weight: normal', :title=>title} highlight.js
+ /html comment
+ -# ignore this line
+ %ul(style='margin: 0')
+ -items.each do |i|
+ %i= i
+ = variable
+ =variable2
+ ~ variable3
+ ~variable4
+ The current year is #{DataTime.now.year}.
diff --git a/test/markup/haxe/default.expect.txt b/test/markup/haxe/default.expect.txt
new file mode 100644
index 0000000000..438fcbfa8a
--- /dev/null
+++ b/test/markup/haxe/default.expect.txt
@@ -0,0 +1,142 @@
+package my.package ;
+
+#if js
+import js.Browser;
+#elseif sys
+import Sys;
+#else
+import Date;
+#end
+
+import Lambda;
+using Main.IntExtender;
+
+extern class Math {
+ static var PI(default ,null ) : Float ;
+ static function floor (v:Float ):Int ;
+}
+
+
+abstract MyAbstract (Int ) from Int to Int {
+ inline function new (i:Int ) {
+ this = i;
+ }
+
+ @:op(A * B)
+ public function multiply (rhs:MyAbstract ) {
+ return this * rhs;
+ }
+}
+
+
+enum Color {
+ Red;
+ Green;
+ Blue;
+ Rgb(r:Int , g:Int , b:Int );
+}
+
+@:generic
+class Gen <T > {
+ var v:T ;
+ public function new (v:T ) {
+ this .v = v;
+ }
+
+ public var x(get , set ):T ;
+
+ private inline function get_x ():T
+ return v;
+
+ private inline function set_x (x:T ):T
+ return v = x;
+}
+
+class Main extends BaseClass implements SomeFunctionality {
+ var callback:Void->Void = null ;
+ var myArray:Array <Float > = new Array <Float >();
+ var arr = [4 ,8 ,0 ,3 ,9 ,1 ,5 ,2 ,6 ,7 ];
+
+ public function new (x) {
+ super (x);
+ }
+
+ public static function main () {
+ trace ('What\'s up?' );
+ trace ('Hi, ${name} !' );
+
+
+ var c:Color = Color.Green;
+ var x:Int = switch (c) {
+ case Red: 0 ;
+ case Green: 1 ;
+ case Blue: 2 ;
+ case Rgb(r, g, b): 3 ;
+ case _ : -1 ;
+ }
+
+ for (i in 0. ..3 ) {
+ trace (i);
+ continue ;
+ break ;
+ }
+
+ do {
+ trace ("Hey-o!" );
+ } while (false );
+
+ var done:Bool = false ;
+ while (!done) {
+ done = true ;
+ }
+
+ var H:Int = cast new MyAbstract (42 );
+ var h:Int = cast (new MyAbstract (31 ), Int );
+
+ try {
+ throw "error" ;
+ }
+ catch (err:String ) {
+ trace (err);
+ }
+
+ var map = new haxe .ds.IntMap<String >();
+ var f = map.set .bind(_ , "12" );
+ }
+
+ function nothing ():Void
+ trace ("nothing!" );
+
+ private inline function func (a:Int , b:Float , ?c:String , d:Bool =false ):Dynamic {
+ return {
+ x: 0 ,
+ y: true ,
+ z: false ,
+ a: 1 .53 ,
+ b: 5e10 ,
+ c: -12 ,
+ h: null
+ };
+ }
+
+
+ override function quicksort ( lo : Int , hi : Int ) : Void {
+ var i = lo;
+ var j = hi;
+ var buf = arr;
+ var p = buf[(lo+hi)>>1 ];
+ while ( i <= j ) {
+ while ( arr[i] > p ) i++;
+ while ( arr[j] < p ) j--;
+ if ( i <= j ) {
+ var t = buf[i];
+ buf[i++] = buf[j];
+ buf[j--] = t;
+ }
+ }
+ if ( lo < j ) quicksort( lo, j );
+ if ( i < hi ) quicksort( i, hi );
+ }
+}
\ No newline at end of file
diff --git a/test/markup/haxe/default.txt b/test/markup/haxe/default.txt
new file mode 100644
index 0000000000..7db9c96abe
--- /dev/null
+++ b/test/markup/haxe/default.txt
@@ -0,0 +1,142 @@
+package my.package;
+
+#if js
+import js.Browser;
+#elseif sys
+import Sys;
+#else
+import Date;
+#end
+
+import Lambda;
+using Main.IntExtender;
+
+extern class Math {
+ static var PI(default,null) : Float;
+ static function floor(v:Float):Int;
+}
+
+/**
+ * Abstract forwarding
+ */
+abstract MyAbstract(Int) from Int to Int {
+ inline function new(i:Int) {
+ this = i;
+ }
+
+ @:op(A * B)
+ public function multiply(rhs:MyAbstract) {
+ return this * rhs;
+ }
+}
+
+// an enum
+enum Color {
+ Red;
+ Green;
+ Blue;
+ Rgb(r:Int, g:Int, b:Int);
+}
+
+@:generic
+class Gen {
+ var v:T;
+ public function new(v:T) {
+ this.v = v;
+ }
+
+ public var x(get, set):T;
+
+ private inline function get_x():T
+ return v;
+
+ private inline function set_x(x:T):T
+ return v = x;
+}
+
+class Main extends BaseClass implements SomeFunctionality {
+ var callback:Void->Void = null;
+ var myArray:Array = new Array();
+ var arr = [4,8,0,3,9,1,5,2,6,7];
+
+ public function new(x) {
+ super(x);
+ }
+
+ public static function main() {
+ trace('What\'s up?');
+ trace('Hi, ${name}!');
+
+ // switch statements!
+ var c:Color = Color.Green;
+ var x:Int = switch(c) {
+ case Red: 0;
+ case Green: 1;
+ case Blue: 2;
+ case Rgb(r, g, b): 3;
+ case _: -1;
+ }
+
+ for(i in 0...3) {
+ trace(i);
+ continue;
+ break;
+ }
+
+ do {
+ trace("Hey-o!");
+ } while(false);
+
+ var done:Bool = false;
+ while(!done) {
+ done = true;
+ }
+
+ var H:Int = cast new MyAbstract(42);
+ var h:Int = cast(new MyAbstract(31), Int);
+
+ try {
+ throw "error";
+ }
+ catch(err:String) {
+ trace(err);
+ }
+
+ var map = new haxe.ds.IntMap();
+ var f = map.set.bind(_, "12");
+ }
+
+ function nothing():Void
+ trace("nothing!");
+
+ private inline function func(a:Int, b:Float, ?c:String, d:Bool=false):Dynamic {
+ return {
+ x: 0,
+ y: true,
+ z: false,
+ a: 1.53,
+ b: 5e10,
+ c: -12,
+ h: null
+ };
+ }
+
+
+ override function quicksort( lo : Int, hi : Int ) : Void {
+ var i = lo;
+ var j = hi;
+ var buf = arr;
+ var p = buf[(lo+hi)>>1];
+ while( i <= j ) {
+ while( arr[i] > p ) i++;
+ while( arr[j] < p ) j--;
+ if( i <= j ) {
+ var t = buf[i];
+ buf[i++] = buf[j];
+ buf[j--] = t;
+ }
+ }
+ if( lo < j ) quicksort( lo, j );
+ if( i < hi ) quicksort( i, hi );
+ }
+}
\ No newline at end of file
diff --git a/test/markup/hsp/default.expect.txt b/test/markup/hsp/default.expect.txt
new file mode 100644
index 0000000000..ef4ccd5b77
--- /dev/null
+++ b/test/markup/hsp/default.expect.txt
@@ -0,0 +1,23 @@
+#include "foo.hsp"
+
+
+ message = "Hello, World!"
+ message2 = {"Multi
+ line
+ string"}
+ num = 0
+ mes message
+
+ input num : button "sqrt" , *label
+ stop
+
+*label
+
+ if (num >= 0 ) {
+ dialog "sqrt(" + num + ") = " + sqrt (num)
+ } else {
+ dialog "error" , 1
+ }
+ stop
diff --git a/test/markup/hsp/default.txt b/test/markup/hsp/default.txt
new file mode 100644
index 0000000000..403bdfee30
--- /dev/null
+++ b/test/markup/hsp/default.txt
@@ -0,0 +1,23 @@
+#include "foo.hsp"
+
+ // line comment
+ message = "Hello, World!"
+ message2 = {"Multi
+ line
+ string"}
+ num = 0
+ mes message
+
+ input num : button "sqrt", *label
+ stop
+
+*label
+ /*
+ block comment
+ */
+ if(num >= 0) {
+ dialog "sqrt(" + num + ") = " + sqrt(num)
+ } else {
+ dialog "error", 1
+ }
+ stop
diff --git a/test/markup/hy/default.expect.txt b/test/markup/hy/default.expect.txt
new file mode 100644
index 0000000000..7639b1e32c
--- /dev/null
+++ b/test/markup/hy/default.expect.txt
@@ -0,0 +1,37 @@
+#!/usr/bin/env hy
+
+(import os.path)
+
+(import hy.compiler)
+(import hy.core)
+
+
+
+(setv *core-path* (os.path.dirname hy.core.--file--))
+
+
+(defn collect-macros [collected-names opened-file]
+ (while True
+ (try
+ (let [data (read opened-file)]
+ (if (and (in (first data)
+ '(defmacro defmacro/g! defn))
+ (not (.startswith (second data) "_" )))
+ (.add collected-names (second data))))
+ (except [e EOFError] (break )))))
+
+
+(defmacro core-file [filename]
+ `(open (os.path.join *core-path* ~filename)))
+
+
+(defmacro contrib-file [filename]
+ `(open (os.path.join *core-path* ".." "contrib" ~filename)))
+
+
+(defn collect-core-names []
+ (doto (set )
+ (.update hy.core.language.*exports*)
+ (.update hy.core.shadow.*exports*)
+ (collect-macros (core-file "macros.hy" ))
+ (collect-macros (core-file "bootstrap.hy" ))))
diff --git a/test/markup/hy/default.txt b/test/markup/hy/default.txt
new file mode 100644
index 0000000000..769991dbcc
--- /dev/null
+++ b/test/markup/hy/default.txt
@@ -0,0 +1,37 @@
+#!/usr/bin/env hy
+
+(import os.path)
+
+(import hy.compiler)
+(import hy.core)
+
+
+;; absolute path for Hy core
+(setv *core-path* (os.path.dirname hy.core.--file--))
+
+
+(defn collect-macros [collected-names opened-file]
+ (while True
+ (try
+ (let [data (read opened-file)]
+ (if (and (in (first data)
+ '(defmacro defmacro/g! defn))
+ (not (.startswith (second data) "_")))
+ (.add collected-names (second data))))
+ (except [e EOFError] (break)))))
+
+
+(defmacro core-file [filename]
+ `(open (os.path.join *core-path* ~filename)))
+
+
+(defmacro contrib-file [filename]
+ `(open (os.path.join *core-path* ".." "contrib" ~filename)))
+
+
+(defn collect-core-names []
+ (doto (set)
+ (.update hy.core.language.*exports*)
+ (.update hy.core.shadow.*exports*)
+ (collect-macros (core-file "macros.hy"))
+ (collect-macros (core-file "bootstrap.hy"))))
diff --git a/test/markup/inform7/default.expect.txt b/test/markup/inform7/default.expect.txt
new file mode 100644
index 0000000000..5cea07fc9b
--- /dev/null
+++ b/test/markup/inform7/default.expect.txt
@@ -0,0 +1,24 @@
+Book 1 - Language Definition Testing File
+
+
+
+Syntax highlighting is an action applying to one thing .
+Understand "highlight [something preferably codeish] " as syntax highlighting.
+
+Code is a kind of thing . Code is usually plural-named.
+
+Code can be highlighted. Code is usually not highlighted.
+
+Check syntax highlighting:
+ unless the noun is code:
+ say "[The noun] isn't source code you can highlight." ;
+ rule fails.
+
+Carry out syntax highlighting:
+ now the noun is highlighted.
+
+Table of Programming Languages
+language utility
+ruby "Web back-end development"
+lua "Embedded scripting"
+erlang "High-concurrency server applications"
\ No newline at end of file
diff --git a/test/markup/inform7/default.txt b/test/markup/inform7/default.txt
new file mode 100644
index 0000000000..5c16a694a1
--- /dev/null
+++ b/test/markup/inform7/default.txt
@@ -0,0 +1,24 @@
+Book 1 - Language Definition Testing File
+
+[Comments in Inform 7 can be [nested] inside one another]
+
+Syntax highlighting is an action applying to one thing.
+Understand "highlight [something preferably codeish]" as syntax highlighting.
+
+Code is a kind of thing. Code is usually plural-named.
+
+Code can be highlighted. Code is usually not highlighted.
+
+Check syntax highlighting:
+ unless the noun is code:
+ say "[The noun] isn't source code you can highlight.";
+ rule fails.
+
+Carry out syntax highlighting:
+ now the noun is highlighted.
+
+Table of Programming Languages
+language utility
+ruby "Web back-end development"
+lua "Embedded scripting"
+erlang "High-concurrency server applications"
\ No newline at end of file
diff --git a/test/markup/irpf90/default.expect.txt b/test/markup/irpf90/default.expect.txt
new file mode 100644
index 0000000000..168a3f6785
--- /dev/null
+++ b/test/markup/irpf90/default.expect.txt
@@ -0,0 +1,37 @@
+ BEGIN_PROVIDER [ integer (bit_kind), psi_det_sorted_bit, (N_int,2 ,psi_det_size) ]
+&BEGIN_PROVIDER [ double precision , psi_coef_sorted_bit, (psi_det_size,N_states) ]
+ implicit none
+
+ integer :: i,j,k
+ integer , allocatable :: iorder(:)
+ integer *8 , allocatable :: bit_tmp(:)
+ integer *8 , external :: det_search_key
+
+ allocate ( iorder(N_det), bit_tmp(N_det) )
+
+ do i=1 ,N_det
+ iorder(i) = i
+
+ bit_tmp(i) = det_search_key(psi_det(1 ,1 ,i),N_int)
+ enddo
+ call isort(bit_tmp,iorder,N_det)
+
+ do i=1 ,N_det
+ do j=1 ,N_int
+ psi_det_sorted_bit(j,1 ,i) = psi_det(j,1 ,iorder(i))
+ psi_det_sorted_bit(j,2 ,i) = psi_det(j,2 ,iorder(i))
+ enddo
+ do k=1 ,N_states
+ psi_coef_sorted_bit(i,k) = psi_coef(iorder(i),k)
+ enddo
+ enddo
+
+ deallocate (iorder, bit_tmp)
+
+END_PROVIDER
+
diff --git a/test/markup/irpf90/default.txt b/test/markup/irpf90/default.txt
new file mode 100644
index 0000000000..e3619cd551
--- /dev/null
+++ b/test/markup/irpf90/default.txt
@@ -0,0 +1,37 @@
+ BEGIN_PROVIDER [ integer(bit_kind), psi_det_sorted_bit, (N_int,2,psi_det_size) ]
+&BEGIN_PROVIDER [ double precision, psi_coef_sorted_bit, (psi_det_size,N_states) ]
+ implicit none
+ BEGIN_DOC
+ ! Determinants on which we apply for perturbation.
+ ! They are sorted by determinants interpreted as integers. Useful
+ ! to accelerate the search of a random determinant in the wave
+ ! function.
+ END_DOC
+ integer :: i,j,k
+ integer, allocatable :: iorder(:)
+ integer*8, allocatable :: bit_tmp(:)
+ integer*8, external :: det_search_key
+
+ allocate ( iorder(N_det), bit_tmp(N_det) )
+
+ do i=1,N_det
+ iorder(i) = i
+ !DIR$ FORCEINLINE
+ bit_tmp(i) = det_search_key(psi_det(1,1,i),N_int)
+ enddo
+ call isort(bit_tmp,iorder,N_det)
+ !DIR$ IVDEP
+ do i=1,N_det
+ do j=1,N_int
+ psi_det_sorted_bit(j,1,i) = psi_det(j,1,iorder(i))
+ psi_det_sorted_bit(j,2,i) = psi_det(j,2,iorder(i))
+ enddo
+ do k=1,N_states
+ psi_coef_sorted_bit(i,k) = psi_coef(iorder(i),k)
+ enddo
+ enddo
+
+ deallocate(iorder, bit_tmp)
+
+END_PROVIDER
+
diff --git a/test/markup/isbl/default.expect.txt b/test/markup/isbl/default.expect.txt
new file mode 100644
index 0000000000..30763ea4ac
--- /dev/null
+++ b/test/markup/isbl/default.expect.txt
@@ -0,0 +1,27 @@
+
+ ADD_EQUAL_NUMBER_TEMPLATE = "%s.%s = %s"
+ EMPLOYEES_REFERENCE = "РАБ"
+
+ Employees: IReference.РАБ = CreateReference (EMPLOYEES_REFERENCE ;
+ ArrayOf ("Пользователь" ; SYSREQ_STATE ); MyFunction (FALSE ; MyParam * 0.05 ))
+ Employees.Events.DisableAll
+ EmployeesTableName = Employees.TableName
+ EmployeesUserWhereID = Employees.AddWhere (Format (ADD_EQUAL_NUMBER_TEMPLATE ;
+ ArrayOf (EmployeesTableName ; Employees.Requisites ("Пользователь" ).SQLFieldName;
+ EDocuments .CurrentUser.ID )))
+ Employees.Open ()
+ Result = CreateStringList ()
+ foreach Employee in Employees
+ if IsResultCode
+ Result .Add (Employee.SYSREQ_CODE )
+ else
+ Result .Add (Employee.SYSREQ_ID )
+ endif
+ endforeach
+ Employees.Close ()
+ Employees.DelWhere (EmployeesUserWhereID )
+ Employees.Events.EnableAll
+ Employees = nil
\ No newline at end of file
diff --git a/test/markup/isbl/default.txt b/test/markup/isbl/default.txt
new file mode 100644
index 0000000000..af8272b08d
--- /dev/null
+++ b/test/markup/isbl/default.txt
@@ -0,0 +1,27 @@
+ // Описание констант
+ ADD_EQUAL_NUMBER_TEMPLATE = "%s.%s = %s"
+ EMPLOYEES_REFERENCE = "РАБ"
+ /*********************************************
+ * Получить список кодов или ИД работников, *
+ * соответствующих текущему пользователю *
+ *********************************************/
+ Employees: IReference.РАБ = CreateReference(EMPLOYEES_REFERENCE;
+ ArrayOf("Пользователь"; SYSREQ_STATE); MyFunction(FALSE; MyParam * 0.05))
+ Employees.Events.DisableAll
+ EmployeesTableName = Employees.TableName
+ EmployeesUserWhereID = Employees.AddWhere(Format(ADD_EQUAL_NUMBER_TEMPLATE;
+ ArrayOf(EmployeesTableName; Employees.Requisites("Пользователь").SQLFieldName;
+ EDocuments.CurrentUser.ID)))
+ Employees.Open()
+ Result = CreateStringList()
+ foreach Employee in Employees
+ if IsResultCode
+ Result.Add(Employee.SYSREQ_CODE)
+ else
+ Result.Add(Employee.SYSREQ_ID)
+ endif
+ endforeach
+ Employees.Close()
+ Employees.DelWhere(EmployeesUserWhereID)
+ Employees.Events.EnableAll
+ Employees = nil
\ No newline at end of file
diff --git a/test/markup/jboss-cli/default.expect.txt b/test/markup/jboss-cli/default.expect.txt
new file mode 100644
index 0000000000..2a788dc629
--- /dev/null
+++ b/test/markup/jboss-cli/default.expect.txt
@@ -0,0 +1,24 @@
+jms-queue add --queue-address=myQueue --entries=queue/myQueue
+
+deploy /path/to/file.war
+
+/system-property=prop1 :add (value =value1)
+
+
+
+/extension=org.jboss.as.modcluster :add
+
+./foo=bar :remove
+
+/subsystem=security/security-domain=demo-realm/authentication=classic :add
+
+/subsystem=security/security-domain=demo-realm/authentication=classic/login-module=UsersRoles :add ( \
+ code =UsersRoles, \
+ flag =required, \
+ module-options = { \
+ usersProperties =auth/demo-users.properties, \
+ rolesProperties =auth/demo-roles.properties, \
+ hashAlgorithm = MD5, \
+ hashCharset ="UTF-8" \
+ } \
+)
diff --git a/test/markup/jboss-cli/default.txt b/test/markup/jboss-cli/default.txt
new file mode 100644
index 0000000000..5df733fe54
--- /dev/null
+++ b/test/markup/jboss-cli/default.txt
@@ -0,0 +1,24 @@
+jms-queue add --queue-address=myQueue --entries=queue/myQueue
+
+deploy /path/to/file.war
+
+/system-property=prop1:add(value=value1)
+
+
+
+/extension=org.jboss.as.modcluster:add
+
+./foo=bar:remove
+
+/subsystem=security/security-domain=demo-realm/authentication=classic:add
+
+/subsystem=security/security-domain=demo-realm/authentication=classic/login-module=UsersRoles:add( \
+ code=UsersRoles, \
+ flag=required, \
+ module-options= { \
+ usersProperties=auth/demo-users.properties, \
+ rolesProperties =auth/demo-roles.properties, \
+ hashAlgorithm= MD5, \
+ hashCharset="UTF-8" \
+ } \
+)
diff --git a/test/markup/julia-repl/default.expect.txt b/test/markup/julia-repl/default.expect.txt
new file mode 100644
index 0000000000..b9d255be81
--- /dev/null
+++ b/test/markup/julia-repl/default.expect.txt
@@ -0,0 +1,36 @@
+julia> function foo(x) x + 1 end
+ foo (generic function with 1 method)
+
+julia> foo(42 )
+ 43
+
+julia> foo(42 ) === 43.
+ false
+
+
+Here we match all three lines of code:
+
+julia> function foo(x::Float64 )
+ 42. - x
+ end
+ foo (generic function with 2 methods)
+
+julia> for x in Any [1 , 2 , 3.4 ]
+ println("foo($x ) = $(foo(x) )" )
+ end
+ foo(1) = 2
+foo(2) = 3
+foo(3.4) = 38.6
+
+
+... unless it is not properly indented:
+
+julia> function foo(x)
+ x + 1
+end
+
+
+Ordinary Julia code does not get highlighted:
+
+Pkg.add("Combinatorics")
+abstract type Foo end
diff --git a/test/markup/julia-repl/default.txt b/test/markup/julia-repl/default.txt
new file mode 100644
index 0000000000..d7ffa8c9e8
--- /dev/null
+++ b/test/markup/julia-repl/default.txt
@@ -0,0 +1,36 @@
+julia> function foo(x) x + 1 end
+foo (generic function with 1 method)
+
+julia> foo(42)
+43
+
+julia> foo(42) === 43.
+false
+
+
+Here we match all three lines of code:
+
+julia> function foo(x::Float64)
+ 42. - x
+ end
+foo (generic function with 2 methods)
+
+julia> for x in Any[1, 2, 3.4]
+ println("foo($x) = $(foo(x))")
+ end
+foo(1) = 2
+foo(2) = 3
+foo(3.4) = 38.6
+
+
+... unless it is not properly indented:
+
+julia> function foo(x)
+ x + 1
+end
+
+
+Ordinary Julia code does not get highlighted:
+
+Pkg.add("Combinatorics")
+abstract type Foo end
diff --git a/test/markup/julia/default.expect.txt b/test/markup/julia/default.expect.txt
new file mode 100644
index 0000000000..2b89d7f732
--- /dev/null
+++ b/test/markup/julia/default.expect.txt
@@ -0,0 +1,99 @@
+
+
+struct Plus
+ f::typeof(+)
+end
+
+mutable struct Mut
+ mutable::A
+ primitive::B
+end
+
+primitive type Prim 8 end
+
+abstract type Abstr end
+
+
+
+module M
+
+using X
+import Y
+
+export a, b, c
+
+end
+
+baremodule Bare
+end
+
+
+
+
+
+function f(x::Union {String ,Missing ,Nothing }, y::Tuple {Float64 ,ComplexF64 })
+ if x === nothing
+ println(devnull , "nothing" )
+ elseif x === missing
+ println(stderr , "missing" )
+ else
+ println(stdout , x)
+ end
+end
+
+f(x::UndefInitializer = undef ) = Regex ("^hello, world\$" )
+
+
+function F{T}(x::T) where T
+ for i in x
+ i isa UnionAll && return
+ end
+end
+
+
+function method0(x, y::Int ; version::VersionNumber =v"0.1.2" )
+ """
+ Triple
+ Quoted
+ String
+ """
+
+ @assert π > e
+
+ s = 1.2
+ 変数 = "variable"
+
+ if s * 100_000 ≥ 5.2e+10 && true || x === nothing
+ s = 1. + .5 im
+ elseif 1 ∈ [1 , 2 , 3 ]
+ println("s is $s and 変数 is $変数 " )
+ else
+ x = [1 2 3 ; 4 5 6 ]
+ @show x'
+ end
+
+ local var = rand(10 )
+ global g = 44
+ var[1 :5 ]
+ var[5 :end -1 ]
+ var[end ]
+
+ opt = "-la"
+ run(`ls $opt ` )
+
+ try
+ ccall (:lib, (Ptr {Void},), Ref {C_NULL })
+ catch
+ throw(ArgumentError ("wat" ))
+ finally
+ warn("god save the queen" )
+ end
+
+ '\u2200' != 'T'
+
+ return 5 s / 2
+end
diff --git a/test/markup/julia/default.txt b/test/markup/julia/default.txt
new file mode 100644
index 0000000000..a20262df03
--- /dev/null
+++ b/test/markup/julia/default.txt
@@ -0,0 +1,99 @@
+### Types
+
+struct Plus
+ f::typeof(+)
+end
+
+mutable struct Mut
+ mutable::A # mutable should not be highlighted (not followed by struct)
+ primitive::B # primitive should not be highlighted (not followed by type)
+end
+
+primitive type Prim 8 end
+
+abstract type Abstr end
+
+### Modules
+
+module M
+
+using X
+import Y
+
+export a, b, c
+
+end # module
+
+baremodule Bare
+end
+
+
+### Miscellaneous
+
+# Some things new for Julia >1.0
+function f(x::Union{String,Missing,Nothing}, y::Tuple{Float64,ComplexF64})
+ if x === nothing
+ println(devnull, "nothing")
+ elseif x === missing
+ println(stderr, "missing")
+ else
+ println(stdout, x)
+ end
+end
+
+f(x::UndefInitializer = undef) = Regex("^hello, world\$")
+
+# where, infix isa, UnionAll
+function F{T}(x::T) where T
+ for i in x
+ i isa UnionAll && return
+ end
+end
+
+#=
+Multi
+Line
+Comment
+=#
+function method0(x, y::Int; version::VersionNumber=v"0.1.2")
+ """
+ Triple
+ Quoted
+ String
+ """
+
+ @assert π > e
+
+ s = 1.2
+ 変数 = "variable"
+
+ if s * 100_000 ≥ 5.2e+10 && true || x === nothing
+ s = 1. + .5im
+ elseif 1 ∈ [1, 2, 3]
+ println("s is $s and 変数 is $変数")
+ else
+ x = [1 2 3; 4 5 6]
+ @show x'
+ end
+
+ local var = rand(10)
+ global g = 44
+ var[1:5]
+ var[5:end-1]
+ var[end]
+
+ opt = "-la"
+ run(`ls $opt`)
+
+ try
+ ccall(:lib, (Ptr{Void},), Ref{C_NULL})
+ catch
+ throw(ArgumentError("wat"))
+ finally
+ warn("god save the queen")
+ end
+
+ '\u2200' != 'T'
+
+ return 5s / 2
+end
diff --git a/test/markup/leaf/default.expect.txt b/test/markup/leaf/default.expect.txt
new file mode 100644
index 0000000000..2b18b07def
--- /dev/null
+++ b/test/markup/leaf/default.expect.txt
@@ -0,0 +1,21 @@
+# empty (friends ) {
+ Try adding some friends!
+} ## loop (friends , "friend" ) {
+ <li> # (friend .name ) </li>
+}
+
+# someTag (parameter .list , goes , "here" ) {
+ This is an optional body here
+}
+
+# index (friends , "0" ) {
+ Hello, # (self ) !
+} ## else () {
+ Nobody's there!
+}
+
+# ()
+
+# raw () {
+ <li> Hello </li>
+}
diff --git a/test/markup/leaf/default.txt b/test/markup/leaf/default.txt
new file mode 100644
index 0000000000..5c47e88daa
--- /dev/null
+++ b/test/markup/leaf/default.txt
@@ -0,0 +1,21 @@
+#empty(friends) {
+ Try adding some friends!
+} ##loop(friends, "friend") {
+ #(friend.name)
+}
+
+#someTag(parameter.list, goes, "here") {
+ This is an optional body here
+}
+
+#index(friends, "0") {
+ Hello, #(self)!
+} ##else() {
+ Nobody's there!
+}
+
+#()
+
+#raw() {
+ Hello
+}
diff --git a/test/markup/livecodeserver/default.expect.txt b/test/markup/livecodeserver/default.expect.txt
new file mode 100644
index 0000000000..eaf3dd2f6b
--- /dev/null
+++ b/test/markup/livecodeserver/default.expect.txt
@@ -0,0 +1,30 @@
+<?rev
+
+global gControllerHandlers , gData
+local sTest
+put "blog,index" into gControllerHandlers
+
+
+command blog
+
+ put "Hello World!" into sTest
+
+ put "form,url,asset" into tHelpers
+ rigLoadHelper tHelpers
+end blog
+
+
+
+function myFunction
+ if the secs > 2000000000 then
+ put "Welcome to the future!"
+ else
+ return "something"
+ end if
+end myFunction
+
+
+
+
+
diff --git a/test/markup/livecodeserver/default.txt b/test/markup/livecodeserver/default.txt
new file mode 100644
index 0000000000..8c04e63ec2
--- /dev/null
+++ b/test/markup/livecodeserver/default.txt
@@ -0,0 +1,30 @@
+ 2000000000 then
+ put "Welcome to the future!"
+ else
+ return "something"
+ end if
+end myFunction
+
+
+--| END OF blog.lc
+--| Location: ./system/application/controllers/blog.lc
+----------------------------------------------------------------------
diff --git a/test/markup/livescript/default.expect.txt b/test/markup/livescript/default.expect.txt
new file mode 100644
index 0000000000..253ee2843f
--- /dev/null
+++ b/test/markup/livescript/default.expect.txt
@@ -0,0 +1,66 @@
+
+take = (n, [x, ...xs]:list ) -->
+ | n <= 0 => []
+ | empty list => []
+ | otherwise => [x] ++ take n - 1 , xs
+
+take 2 , [1 , 2 , 3 , 4 , 5 ]
+
+
+take-three = take 3
+take-three [6 , 7 , 8 , 9 , 10 ]
+
+
+last-three = reverse >> take-three >> reverse
+last-three [1 to 8 ]
+
+
+const t1 =
+ * id: 1
+ name: 'george'
+ * id: 2
+ name: 'mike'
+ * id: 3
+ name: 'donald'
+
+const t2 =
+ * id: 2
+ age: 21
+ * id: 1
+ age: 20
+ * id: 3
+ age: 26
+[{id:id1, name, age}
+ for {id:id1, name} in t1
+ for {id:id2, age} in t2
+ where id1 is id2]
+ |> sort-by \id
+ |> JSON .stringify
+
+~function add x, y
+ @result = x + y
+
+class A
+ (num) ->
+ @x = num
+ property: 1
+ method: (y) ->
+ @x + @property + y
+
+a = new A 3
+a.x
+a.property
+a.method 6
+
+f = !-> 2
+g = (x) !-> x + 2
+
+result = switch 'test'
+case 'blatant'
+ 'effort'
+ fallthrough
+case 'at'
+ 'increasing'
+ fallthrough
+case 'relevance'
+ void
diff --git a/test/markup/livescript/default.txt b/test/markup/livescript/default.txt
new file mode 100644
index 0000000000..d7cb8f42c4
--- /dev/null
+++ b/test/markup/livescript/default.txt
@@ -0,0 +1,66 @@
+# take the first n objects from a list
+take = (n, [x, ...xs]:list) -->
+ | n <= 0 => []
+ | empty list => []
+ | otherwise => [x] ++ take n - 1, xs
+
+take 2, [1, 2, 3, 4, 5]
+
+# Curried functions
+take-three = take 3
+take-three [6, 7, 8, 9, 10]
+
+# Function composition
+last-three = reverse >> take-three >> reverse
+last-three [1 to 8]
+
+# List comprehensions and piping
+const t1 =
+ * id: 1
+ name: 'george'
+ * id: 2
+ name: 'mike'
+ * id: 3
+ name: 'donald'
+
+const t2 =
+ * id: 2
+ age: 21
+ * id: 1
+ age: 20
+ * id: 3
+ age: 26
+[{id:id1, name, age}
+ for {id:id1, name} in t1
+ for {id:id2, age} in t2
+ where id1 is id2]
+ |> sort-by \id
+ |> JSON.stringify
+
+~function add x, y
+ @result = x + y
+
+class A
+ (num) ->
+ @x = num
+ property: 1
+ method: (y) ->
+ @x + @property + y
+
+a = new A 3
+a.x #=> 3
+a.property #=> 1
+a.method 6 #=> 10
+
+f = !-> 2
+g = (x) !-> x + 2
+
+result = switch 'test'
+case 'blatant'
+ 'effort'
+ fallthrough
+case 'at'
+ 'increasing'
+ fallthrough
+case 'relevance'
+ void
diff --git a/test/markup/llvm/default.expect.txt b/test/markup/llvm/default.expect.txt
new file mode 100644
index 0000000000..8d09a4bc77
--- /dev/null
+++ b/test/markup/llvm/default.expect.txt
@@ -0,0 +1,61 @@
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+%struct._IO_FILE = type { i32 , i8 *, i8 *, i8 *, i8 *, i8 *, i8 *, i8 *, i8 *, i8 *, i8 *, i8 *, %struct._IO_marker *, %struct._IO_FILE *, i32 , i32 , i64 , i16 , i8 , [1 x i8 ], i8 *, i64 , i8 *, i8 *, i8 *, i8 *, i64 , i32 , [20 x i8 ] }
+%struct._IO_marker = type { %struct._IO_marker *, %struct._IO_FILE *, i32 }
+%struct.what = type { i8 , i16 }
+
+@.str = private unnamed_addr constant [6 x i8 ] c "foo()\00" , align 1
+@e_long = common global i64 0 , align 8
+@g_double = common global double 0.000000e+00 , align 8
+@.str.1 = private unnamed_addr constant [7 x i8 ] c "oooooh\00" , align 1
+@func_ptr = common global i32 (...)* null , align 8
+@stderr = external global %struct._IO_FILE *, align 8
+
+
+define i32 @foo () #0 {
+ %1 = call i32 @puts (i8 * getelementptr inbounds ([6 x i8 ], [6 x i8 ]* @.str , i32 0 , i32 0 ))
+ ret i32 0
+}
+
+declare i32 @puts (i8 *) #1
+
+
+define i32 @main (i32 %argc , i8 ** %argv ) #0 {
+ %1 = alloca i32 , align 4
+ %2 = alloca i32 , align 4
+ %3 = alloca i8 **, align 8
+
+
+ %8 = getelementptr inbounds %struct.what , %struct.what * %X , i32 0 , i32 0
+ store i8 1 , i8 * %8 , align 2
+ store i8 49 , i8 * %b_char , align 1
+ %9 = getelementptr inbounds %struct.what , %struct.what * %X , i32 0 , i32 1
+ store double 1.000000e+01 , double * @g_double , align 8
+ store i8 * getelementptr inbounds ([7 x i8 ], [7 x i8 ]* @.str.1 , i32 0 , i32 0 ), i8 ** %cp_char_ptr , align 8
+ store i32 (...)* bitcast (i32 ()* @foo to i32 (...)*), i32 (...)** @func_ptr , align 8
+ %10 = call i32 @puts (i8 * getelementptr inbounds ([8 x i8 ], [8 x i8 ]* @.str.2 , i32 0 , i32 0 ))
+ store i32 10 , i32 * %1 , align 4
+ br label %66
+
+
+ %64 = load %struct._IO_FILE *, %struct._IO_FILE ** @stderr , align 8
+ %65 = call i32 @fputs (i8 * getelementptr inbounds ([11 x i8 ], [11 x i8 ]* @.str.9 , i32 0 , i32 0 ), %struct._IO_FILE * %64 )
+ store i32 -1 , i32 * %1 , align 4
+ br label %66
+
+
+ %67 = load i32 , i32 * %1 , align 4
+ ret i32 %67
+}
+
+declare i32 @printf (i8 *, ...) #1
+
+declare i32 @fputs (i8 *, %struct._IO_FILE *) #1
+
+attributes #0 = { nounwind uwtable "disable-tail-calls" = "false" "less-precise-fpmad" = "false" "no-frame-pointer-elim" = "true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math" = "false" "no-nans-fp-math" = "false" "stack-protector-buffer-size" = "8" "target-cpu" = "x86-64" "target-features" = "+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math" = "false" "use-soft-float" = "false" }
+
+!llvm.ident = !{!0 }
+
+!0 = !{!"clang version 3.8.0 (tags/RELEASE_380/final)" }
diff --git a/test/markup/llvm/default.txt b/test/markup/llvm/default.txt
new file mode 100644
index 0000000000..ac4cd237c1
--- /dev/null
+++ b/test/markup/llvm/default.txt
@@ -0,0 +1,61 @@
+; ModuleID = 'test.c'
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] }
+%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
+%struct.what = type { i8, i16 }
+
+@.str = private unnamed_addr constant [6 x i8] c"foo()\00", align 1
+@e_long = common global i64 0, align 8
+@g_double = common global double 0.000000e+00, align 8
+@.str.1 = private unnamed_addr constant [7 x i8] c"oooooh\00", align 1
+@func_ptr = common global i32 (...)* null, align 8
+@stderr = external global %struct._IO_FILE*, align 8
+
+; Function Attrs: nounwind uwtable
+define i32 @foo() #0 {
+ %1 = call i32 @puts(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0))
+ ret i32 0
+}
+
+declare i32 @puts(i8*) #1
+
+; Function Attrs: nounwind uwtable
+define i32 @main(i32 %argc, i8** %argv) #0 {
+ %1 = alloca i32, align 4
+ %2 = alloca i32, align 4
+ %3 = alloca i8**, align 8
+
+; :7 ; preds = %0
+ %8 = getelementptr inbounds %struct.what, %struct.what* %X, i32 0, i32 0
+ store i8 1, i8* %8, align 2
+ store i8 49, i8* %b_char, align 1
+ %9 = getelementptr inbounds %struct.what, %struct.what* %X, i32 0, i32 1
+ store double 1.000000e+01, double* @g_double, align 8
+ store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i32 0, i32 0), i8** %cp_char_ptr, align 8
+ store i32 (...)* bitcast (i32 ()* @foo to i32 (...)*), i32 (...)** @func_ptr, align 8
+ %10 = call i32 @puts(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i32 0, i32 0))
+ store i32 10, i32* %1, align 4
+ br label %66
+
+; :63 ; preds = %11
+ %64 = load %struct._IO_FILE*, %struct._IO_FILE** @stderr, align 8
+ %65 = call i32 @fputs(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.9, i32 0, i32 0), %struct._IO_FILE* %64)
+ store i32 -1, i32* %1, align 4
+ br label %66
+
+; :66 ; preds = %63, %46, %7
+ %67 = load i32, i32* %1, align 4
+ ret i32 %67
+}
+
+declare i32 @printf(i8*, ...) #1
+
+declare i32 @fputs(i8*, %struct._IO_FILE*) #1
+
+attributes #0 = { nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
+
+!llvm.ident = !{!0}
+
+!0 = !{!"clang version 3.8.0 (tags/RELEASE_380/final)"}
diff --git a/test/markup/lsl/default.expect.txt b/test/markup/lsl/default.expect.txt
new file mode 100644
index 0000000000..cccf9a134c
--- /dev/null
+++ b/test/markup/lsl/default.expect.txt
@@ -0,0 +1,12 @@
+default
+{
+ state_entry ()
+ {
+ llSay (PUBLIC_CHANNEL , "Hello, Avatar!" );
+ }
+
+ touch_start (integer num_detected)
+ {
+ llSay (PUBLIC_CHANNEL , "Touched." );
+ }
+}
diff --git a/test/markup/lsl/default.txt b/test/markup/lsl/default.txt
new file mode 100644
index 0000000000..f9784707c4
--- /dev/null
+++ b/test/markup/lsl/default.txt
@@ -0,0 +1,12 @@
+default
+{
+ state_entry()
+ {
+ llSay(PUBLIC_CHANNEL, "Hello, Avatar!");
+ }
+
+ touch_start(integer num_detected)
+ {
+ llSay(PUBLIC_CHANNEL, "Touched.");
+ }
+}
diff --git a/test/markup/lua/default.expect.txt b/test/markup/lua/default.expect.txt
new file mode 100644
index 0000000000..45f2764814
--- /dev/null
+++ b/test/markup/lua/default.expect.txt
@@ -0,0 +1,32 @@
+
+local signal_mt = {
+ __index = {
+ register = table .insert
+ }
+}
+function signal_mt.__index:emit (... )
+ for _, slot in ipairs (self ) do
+ slot(self , ...)
+ end
+end
+local function create_signal ()
+ return setmetatable ({}, signal_mt)
+end
+
+
+local signal = create_signal()
+signal:register(function (signal, ...)
+ print (...)
+end )
+signal:emit('Answer to Life, the Universe, and Everything:' , 42 )
+
+
+[==[ Nested
+[=[ multi-line
+[[ string
+]] ]=] ]==]
diff --git a/test/markup/lua/default.txt b/test/markup/lua/default.txt
new file mode 100644
index 0000000000..58174ee6bc
--- /dev/null
+++ b/test/markup/lua/default.txt
@@ -0,0 +1,32 @@
+--[[
+Simple signal/slot implementation
+]]
+local signal_mt = {
+ __index = {
+ register = table.insert
+ }
+}
+function signal_mt.__index:emit(... --[[ Comment in params ]])
+ for _, slot in ipairs(self) do
+ slot(self, ...)
+ end
+end
+local function create_signal()
+ return setmetatable({}, signal_mt)
+end
+
+-- Signal test
+local signal = create_signal()
+signal:register(function(signal, ...)
+ print(...)
+end)
+signal:emit('Answer to Life, the Universe, and Everything:', 42)
+
+--[==[ [=[ [[
+Nested ]]
+multi-line ]=]
+comment ]==]
+[==[ Nested
+[=[ multi-line
+[[ string
+]] ]=] ]==]
diff --git a/test/markup/makefile/default.expect.txt b/test/markup/makefile/default.expect.txt
new file mode 100644
index 0000000000..df0f17e2f6
--- /dev/null
+++ b/test/markup/makefile/default.expect.txt
@@ -0,0 +1,13 @@
+
+
+BUILDDIR = _build
+EXTRAS ?= $(BUILDDIR) /extras
+
+.PHONY : main clean
+
+main:
+ @echo "Building main facility..."
+ build_main $(BUILDDIR)
+
+clean:
+ rm -rf $(BUILDDIR) /*
diff --git a/test/markup/makefile/default.txt b/test/markup/makefile/default.txt
new file mode 100644
index 0000000000..cd1ec79d5e
--- /dev/null
+++ b/test/markup/makefile/default.txt
@@ -0,0 +1,13 @@
+# Makefile
+
+BUILDDIR = _build
+EXTRAS ?= $(BUILDDIR)/extras
+
+.PHONY: main clean
+
+main:
+ @echo "Building main facility..."
+ build_main $(BUILDDIR)
+
+clean:
+ rm -rf $(BUILDDIR)/*
diff --git a/test/markup/mathematica/default.expect.txt b/test/markup/mathematica/default.expect.txt
new file mode 100644
index 0000000000..e582cdb261
--- /dev/null
+++ b/test/markup/mathematica/default.expect.txt
@@ -0,0 +1,79 @@
+
+xkcdStyle = { FontFamily -> "Comic Sans MS" , 16 } ;
+
+xkcdLabel [ { str_String , { x1_ , y1_ } , { xo_ , yo_ } } ] := Module [ { x2 , y2 } ,
+ x2 = x1 + xo ; y2 = y1 + yo ;
+ {
+ Inset [
+ Style [ str , xkcdStyle ] ,
+ { x2 , y2 } ,
+ { 1.2 * Sign [ x1 - x2 ] , Sign [ y1 - y2 ] Boole [ x1 == x2 ] }
+ ] ,
+ Thick ,
+ BezierCurve [ { { 0.9 * x1 + 0.1 * x2 , 0.9 * y1 + 0.1 * y2 } , { x1 , y2 } , { x2 , y2 } } ]
+ }
+] ;
+
+xkcdRules = {
+ EdgeForm [ ef : Except [ None ] ] :> EdgeForm [ Flatten @ { ef , Thick , Black } ] ,
+ Style [ x_ , st_ ] :> Style [ x , xkcdStyle ] ,
+ Pane [ s_String ] :> Pane [ Style [ s , xkcdStyle ] ] ,
+ { h_Hue , l_Line } :> { Thickness [ 0.02 ] , White , l , Thick , h , l } ,
+ Grid [ { { g_Graphics , s_String } } ] :> Grid [ { { g , Style [ s , xkcdStyle ] } } ] ,
+ Rule [ PlotLabel , lab_ ] :> Rule [ PlotLabel , Style [ lab , xkcdStyle ] ]
+} ;
+
+xkcdShow [ plot_ ] := Show [ plot , AxesStyle -> Thick , LabelStyle -> xkcdStyle ] /. xkcdRules ;
+xkcdShow [ Labeled [ plot_ , rest__ ] ] := Labeled [
+ Show [ plot , AxesStyle -> Thick , LabelStyle -> xkcdStyle ] , rest ] /. xkcdRules ;
+
+xkcdDistort [ plot_ ] := Module [ { r , ix , iy } ,
+ r = ImagePad [ Rasterize @ plot , 10 , Padding -> White ] ;
+ { ix , iy } = Table [
+ RandomImage [ { - 1 , 1 } , ImageDimensions @ r ] ~ ImageConvolve ~ GaussianMatrix [ 10 ] ,
+ { 2 }
+ ] ;
+ ImagePad [
+ ImageTransformation [ r , # + 15 { ImageValue [ ix , # ] , ImageValue [ iy , # ] } &, DataRange -> Full ] ,
+ - 5
+ ]
+] ;
+xkcdConvert [ plot_ ] := xkcdDistort [ xkcdShow [ plot ] ] ;
+xkcdConvert [ Plot [ Sin [ x ] , { x , 0 , 4 Pi } ] ]
+
+
+
+
+
+
+numbers = {
+ 123 ,
+ 123.123 ,
+ 2^^101.101 ,
+ 35^^WolframLanguage ,
+ 16^^dead.Beef ,
+ 123` ,
+ 1.381` ,
+ 16^^9fe.c3`7 ,
+ 3.0`+7 ,
+ 3`7 ,
+ 3.000000000000000000000`7 ,
+ 3.000000000000000000`-7 ,
+ 3.98`5*^3 ,
+ 16^^dead.beef``+4*^-3 ,
+ 0.0000000001*^10 ,
+ 35^^small*^-10 ,
+ 10000000000*^-10
+}
+
+
+{ \[Gamma] , \[CapitalEAcute] , \[DoubleLeftRightArrow] , \[FormalEpsilon] , my \[CapitalEAcute] Variable }
+
+
+xkcdLabel [ { str_String , { x1_Integer , y1_Real } , { _Real , _List } } ]
+If [ # > 5 , # , ## & [ ] ] & /@ Range [ 10 ]
+
+
+In [ 1 ] := func ::usage = "A Usage message"
+Out [ 1 ] = "A Usage message"
+
diff --git a/test/markup/mathematica/default.txt b/test/markup/mathematica/default.txt
new file mode 100644
index 0000000000..04243a4ab2
--- /dev/null
+++ b/test/markup/mathematica/default.txt
@@ -0,0 +1,79 @@
+(* Real-world example from StackExchange *)
+xkcdStyle = {FontFamily -> "Comic Sans MS", 16};
+
+xkcdLabel[{str_String, {x1_, y1_}, {xo_, yo_}}] := Module[{x2, y2},
+ x2 = x1 + xo; y2 = y1 + yo;
+ {
+ Inset[
+ Style[str, xkcdStyle],
+ {x2, y2},
+ {1.2*Sign[x1 - x2], Sign[y1 - y2] Boole[x1 == x2]}
+ ],
+ Thick,
+ BezierCurve[{{0.9*x1 + 0.1*x2, 0.9*y1 + 0.1*y2}, {x1, y2}, {x2, y2}}]
+ }
+];
+
+xkcdRules = {
+ EdgeForm[ef : Except[None]] :> EdgeForm[Flatten@{ef, Thick, Black}],
+ Style[x_, st_] :> Style[x, xkcdStyle],
+ Pane[s_String] :> Pane[Style[s, xkcdStyle]],
+ {h_Hue, l_Line} :> {Thickness[0.02], White, l, Thick, h, l},
+ Grid[{{g_Graphics, s_String}}] :> Grid[{{g, Style[s, xkcdStyle]}}],
+ Rule[PlotLabel, lab_] :> Rule[PlotLabel, Style[lab, xkcdStyle]]
+};
+
+xkcdShow[plot_] := Show[plot, AxesStyle -> Thick, LabelStyle -> xkcdStyle] /. xkcdRules;
+xkcdShow[Labeled[plot_, rest__]] := Labeled[
+ Show[plot, AxesStyle -> Thick, LabelStyle -> xkcdStyle], rest ] /. xkcdRules;
+
+xkcdDistort[plot_] := Module[{r, ix, iy},
+ r = ImagePad[Rasterize@plot, 10, Padding -> White];
+ {ix, iy} = Table[
+ RandomImage[{-1, 1}, ImageDimensions@r] ~ ImageConvolve ~ GaussianMatrix[10],
+ {2}
+ ];
+ ImagePad[
+ ImageTransformation[r, # + 15 {ImageValue[ix, #], ImageValue[iy, #]} &, DataRange -> Full],
+ -5
+ ]
+];
+xkcdConvert[plot_] := xkcdDistort[xkcdShow[plot]];
+xkcdConvert[Plot[Sin[x], {x, 0, 4 Pi}]]
+
+(* Features *)
+
+(* The Wolfram Language supports a variety of different number input forms *)
+(* All numbers below are correct numbers! *)
+
+numbers = {
+ 123,
+ 123.123,
+ 2^^101.101,
+ 35^^WolframLanguage,
+ 16^^dead.Beef,
+ 123`,
+ 1.381`,
+ 16^^9fe.c3`7,
+ 3.0`+7,
+ 3`7,
+ 3.000000000000000000000`7,
+ 3.000000000000000000`-7,
+ 3.98`5*^3,
+ 16^^dead.beef``+4*^-3,
+ 0.0000000001*^10,
+ 35^^small*^-10,
+ 10000000000*^-10
+}
+
+(* Named Characters are matched as normal symbols *)
+{ \[Gamma], \[CapitalEAcute], \[DoubleLeftRightArrow], \[FormalEpsilon], my\[CapitalEAcute]Variable }
+
+(* Patterns and Slots *)
+xkcdLabel[{str_String, {x1_Integer, y1_Real}, {_Real, _List}}]
+If[# > 5, #, ## &[]] & /@ Range[10]
+
+(* Usage and other messages, In/Out *)
+In[1]:= func::usage = "A Usage message"
+Out[1]= "A Usage message"
+
diff --git a/test/markup/mel/default.expect.txt b/test/markup/mel/default.expect.txt
new file mode 100644
index 0000000000..b3d7c35817
--- /dev/null
+++ b/test/markup/mel/default.expect.txt
@@ -0,0 +1,25 @@
+proc string [] getSelectedLights()
+
+{
+ string $selectedLights[];
+
+ string $select[] = `ls -sl -dag -leaf` ;
+
+ for ( $shape in $select )
+ {
+
+
+ string $class[] = getClassification ( `nodeType $shape` );
+
+
+ if ( ( `size $class` ) > 0 && ( "light" == $class[0 ] ) )
+ {
+ $selectedLights[ `size $selectedLights` ] = $shape;
+ }
+ }
+
+
+
+
+ return $selectedLights;
+}
diff --git a/test/markup/mel/default.txt b/test/markup/mel/default.txt
new file mode 100644
index 0000000000..d8abe7e9e2
--- /dev/null
+++ b/test/markup/mel/default.txt
@@ -0,0 +1,25 @@
+proc string[] getSelectedLights()
+
+{
+ string $selectedLights[];
+
+ string $select[] = `ls -sl -dag -leaf`;
+
+ for ( $shape in $select )
+ {
+ // Determine if this is a light.
+ //
+ string $class[] = getClassification( `nodeType $shape` );
+
+
+ if ( ( `size $class` ) > 0 && ( "light" == $class[0] ) )
+ {
+ $selectedLights[ `size $selectedLights` ] = $shape;
+ }
+ }
+
+ // Result is an array of all lights included in
+
+ // current selection list.
+ return $selectedLights;
+}
diff --git a/test/markup/mercury/default.expect.txt b/test/markup/mercury/default.expect.txt
new file mode 100644
index 0000000000..38e947d5cc
--- /dev/null
+++ b/test/markup/mercury/default.expect.txt
@@ -0,0 +1,24 @@
+
+:- module hello.
+
+
+:- interface .
+:- import_module io.
+
+:- pred main(io::di, io::uo) is det .
+
+
+:- implementation .
+
+main(!IO) :-
+ io.write_string("Hello, world\n" , !IO).
+
+:- pred filter(pred (T), list(T), list(T), list(T) ).
+:- mode filter(in(pred (in) is semidet ), in, out, out ) is det .
+
+filter(_, [], [], []).
+filter(P, [X | Xs], Ys, Zs) :-
+ filter(P, Xs, Ys0, Zs0),
+ ( if P(X) then Ys = [X | Ys0], Zs = Zs0
+ else Ys = Ys0 , Zs = [X | Zs0]
+ ).
diff --git a/test/markup/mercury/default.txt b/test/markup/mercury/default.txt
new file mode 100644
index 0000000000..10aa1732bd
--- /dev/null
+++ b/test/markup/mercury/default.txt
@@ -0,0 +1,24 @@
+% "Hello World" in Mercury.
+:- module hello.
+
+
+:- interface.
+:- import_module io.
+
+:- pred main(io::di, io::uo) is det.
+
+
+:- implementation.
+
+main(!IO) :-
+ io.write_string("Hello, world\n", !IO).
+
+:- pred filter(pred(T), list(T), list(T), list(T) ).
+:- mode filter(in(pred(in) is semidet), in, out, out ) is det.
+
+filter(_, [], [], []).
+filter(P, [X | Xs], Ys, Zs) :-
+ filter(P, Xs, Ys0, Zs0),
+ ( if P(X) then Ys = [X | Ys0], Zs = Zs0
+ else Ys = Ys0 , Zs = [X | Zs0]
+ ).
diff --git a/test/markup/mipsasm/default.expect.txt b/test/markup/mipsasm/default.expect.txt
new file mode 100644
index 0000000000..ddc27ddf75
--- /dev/null
+++ b/test/markup/mipsasm/default.expect.txt
@@ -0,0 +1,22 @@
+.text
+.global AckermannFunc
+
+
+
+
+
+
+
+AckermannFunc:
+ addi $sp , $sp , -8
+ sw $s0 , 4 ($sp )
+ sw $ra , 0 ($sp )
+
+
+
+LABEL_IF: bne $a0 , $zero , LABEL_ELSE_IF
+
+ addi $v0 , $a1 , 1
+
+
+ j LABEL_DONE
diff --git a/test/markup/mipsasm/default.txt b/test/markup/mipsasm/default.txt
new file mode 100644
index 0000000000..d30bd8565c
--- /dev/null
+++ b/test/markup/mipsasm/default.txt
@@ -0,0 +1,22 @@
+.text
+.global AckermannFunc
+
+# Preconditions:
+# 1st parameter ($a0) m
+# 2nd parameter ($a1) n
+# Postconditions:
+# result in ($v0) = value of A(m,n)
+
+AckermannFunc:
+ addi $sp, $sp, -8
+ sw $s0, 4($sp)
+ sw $ra, 0($sp)
+
+ # move the parameter registers to temporary - no, only when nec.
+
+LABEL_IF: bne $a0, $zero, LABEL_ELSE_IF
+
+ addi $v0, $a1, 1
+
+ # jump to LABEL_DONE
+ j LABEL_DONE
diff --git a/test/markup/mizar/default.expect.txt b/test/markup/mizar/default.expect.txt
new file mode 100644
index 0000000000..3a66384bef
--- /dev/null
+++ b/test/markup/mizar/default.expect.txt
@@ -0,0 +1,86 @@
+
+
+environ
+
+ vocabularies LAMBDA,
+ NUMBERS,
+ NAT_1, XBOOLE_0, SUBSET_1, FINSEQ_1, XXREAL_0, CARD_1,
+ ARYTM_1, ARYTM_3, TARSKI, RELAT_1, ORDINAL4, FUNCOP_1;
+
+
+
+begin
+
+reserve D for DecoratedTree,
+ p,q,r for FinSequence of NAT,
+ x for set ;
+
+definition
+ let D;
+
+ attr D is LambdaTerm-like means
+ (dom D qua Tree) is finite &
+
+ for r st r in dom D holds
+ r is FinSequence of {0,1} &
+ r^<*0*> in dom D implies D.r = 0;
+end ;
+
+registration
+ cluster LambdaTerm-like for DecoratedTree of NAT;
+ existence ;
+
+end ;
+
+definition
+ mode LambdaTerm is LambdaTerm-like DecoratedTree of NAT;
+end ;
+
+
+
+definition
+ let M,N;
+
+ pred M beta N means
+ ex p st
+ M|p beta_shallow N|p &
+ for q st not p is_a_prefix_of q holds
+ [r,x] in M iff [r,x] in N;
+end ;
+
+theorem Th4:
+ ProperPrefixes (v^<*x*>) = ProperPrefixes v \/ {v}
+proof
+ thus ProperPrefixes (v^<*x*>) c= ProperPrefixes v \/ {v}
+ proof
+ let y;
+ assume y in ProperPrefixes (v^<*x*>);
+ then consider v1 such that
+A1: y = v1 and
+A2: v1 is_a_proper_prefix_of v^<*x*> by TREES_1:def 2;
+ v1 is_a_prefix_of v & v1 <> v or v1 = v by A2,TREES_1:9;
+then
+ v1 is_a_proper_prefix_of v or v1 in {v} by TARSKI:def 1,XBOOLE_0:def 8;
+then y in ProperPrefixes v or y in {v} by A1,TREES_1:def 2;
+ hence thesis by XBOOLE_0:def 3;
+ end ;
+ let y;
+ assume y in ProperPrefixes v \/ {v};
+then A3: y in ProperPrefixes v or y in {v} by XBOOLE_0:def 3;
+A4: now
+ assume y in ProperPrefixes v;
+ then consider v1 such that
+A5: y = v1 and
+A6: v1 is_a_proper_prefix_of v by TREES_1:def 2;
+ v is_a_prefix_of v^<*x*> by TREES_1:1;
+then v1 is_a_proper_prefix_of v^<*x*> by A6,XBOOLE_1:58;
+ hence thesis by A5,TREES_1:def 2;
+ end ;
+ v^{} = v by FINSEQ_1:34;
+ then
+ v is_a_prefix_of v^<*x*> & v <> v^<*x*> by FINSEQ_1:33,TREES_1:1;
+then v is_a_proper_prefix_of v^<*x*> by XBOOLE_0:def 8;
+then y in ProperPrefixes v or y = v & v in ProperPrefixes (v^<*x*>)
+ by A3,TARSKI:def 1,TREES_1:def 2;
+ hence thesis by A4;
+end ;
\ No newline at end of file
diff --git a/test/markup/mizar/default.txt b/test/markup/mizar/default.txt
new file mode 100644
index 0000000000..87b2d993c8
--- /dev/null
+++ b/test/markup/mizar/default.txt
@@ -0,0 +1,86 @@
+::: ## Lambda calculus
+
+environ
+
+ vocabularies LAMBDA,
+ NUMBERS,
+ NAT_1, XBOOLE_0, SUBSET_1, FINSEQ_1, XXREAL_0, CARD_1,
+ ARYTM_1, ARYTM_3, TARSKI, RELAT_1, ORDINAL4, FUNCOP_1;
+
+ :: etc...
+
+begin
+
+reserve D for DecoratedTree,
+ p,q,r for FinSequence of NAT,
+ x for set;
+
+definition
+ let D;
+
+ attr D is LambdaTerm-like means
+ (dom D qua Tree) is finite &
+::> *143,306
+ for r st r in dom D holds
+ r is FinSequence of {0,1} &
+ r^<*0*> in dom D implies D.r = 0;
+end;
+
+registration
+ cluster LambdaTerm-like for DecoratedTree of NAT;
+ existence;
+::> *4
+end;
+
+definition
+ mode LambdaTerm is LambdaTerm-like DecoratedTree of NAT;
+end;
+
+::: Then we extend this ordinary one-step beta reduction, that is,
+::: any subterm is also allowed to reduce.
+definition
+ let M,N;
+
+ pred M beta N means
+ ex p st
+ M|p beta_shallow N|p &
+ for q st not p is_a_prefix_of q holds
+ [r,x] in M iff [r,x] in N;
+end;
+
+theorem Th4:
+ ProperPrefixes (v^<*x*>) = ProperPrefixes v \/ {v}
+proof
+ thus ProperPrefixes (v^<*x*>) c= ProperPrefixes v \/ {v}
+ proof
+ let y;
+ assume y in ProperPrefixes (v^<*x*>);
+ then consider v1 such that
+A1: y = v1 and
+A2: v1 is_a_proper_prefix_of v^<*x*> by TREES_1:def 2;
+ v1 is_a_prefix_of v & v1 <> v or v1 = v by A2,TREES_1:9;
+then
+ v1 is_a_proper_prefix_of v or v1 in {v} by TARSKI:def 1,XBOOLE_0:def 8;
+then y in ProperPrefixes v or y in {v} by A1,TREES_1:def 2;
+ hence thesis by XBOOLE_0:def 3;
+ end;
+ let y;
+ assume y in ProperPrefixes v \/ {v};
+then A3: y in ProperPrefixes v or y in {v} by XBOOLE_0:def 3;
+A4: now
+ assume y in ProperPrefixes v;
+ then consider v1 such that
+A5: y = v1 and
+A6: v1 is_a_proper_prefix_of v by TREES_1:def 2;
+ v is_a_prefix_of v^<*x*> by TREES_1:1;
+then v1 is_a_proper_prefix_of v^<*x*> by A6,XBOOLE_1:58;
+ hence thesis by A5,TREES_1:def 2;
+ end;
+ v^{} = v by FINSEQ_1:34;
+ then
+ v is_a_prefix_of v^<*x*> & v <> v^<*x*> by FINSEQ_1:33,TREES_1:1;
+then v is_a_proper_prefix_of v^<*x*> by XBOOLE_0:def 8;
+then y in ProperPrefixes v or y = v & v in ProperPrefixes (v^<*x*>)
+ by A3,TARSKI:def 1,TREES_1:def 2;
+ hence thesis by A4;
+end;
\ No newline at end of file
diff --git a/test/markup/mojolicious/default.expect.txt b/test/markup/mojolicious/default.expect.txt
new file mode 100644
index 0000000000..5ff4831ff1
--- /dev/null
+++ b/test/markup/mojolicious/default.expect.txt
@@ -0,0 +1,21 @@
+%layout 'bootstrap' ;
+ % title "Import your subs" ;
+ %= form_for '/settings/import' => (method => 'post' , enctype => 'multipart/form-data' ) => begin
+ %= file_field 'opmlfile' => multiple => 'true'
+ %= submit_button 'Import' , 'class' => 'btn'
+ % end
+<div >
+ % if ($subs) {
+<dl >
+ % for my $item (@$subs) {
+ % my ($dir, $align) = ($item->{rtl}) ? ('rtl' , 'right' ) : ('ltr' , 'left' );
+<dt align ="<%= $align %>" ><a href ="<%= $item->{'xmlUrl' } %>" ><i class ="icon-rss" > </i > rss</a >
+<a dir ="<%= $dir %>" href ="<%= $item->{htmlUrl} %>" > <%== $item->{title} %></a >
+</dt >
+<dd > <b > Categories</b >
+ %= join q{, } , sort @{ $item->{categories} || [] };
+</dd >
+</dl >
+ % }
+</div >
+
\ No newline at end of file
diff --git a/test/markup/mojolicious/default.txt b/test/markup/mojolicious/default.txt
new file mode 100644
index 0000000000..2cd9426f3e
--- /dev/null
+++ b/test/markup/mojolicious/default.txt
@@ -0,0 +1,20 @@
+%layout 'bootstrap';
+% title "Import your subs";
+%= form_for '/settings/import' => (method => 'post', enctype => 'multipart/form-data') => begin
+ %= file_field 'opmlfile' => multiple => 'true'
+ %= submit_button 'Import', 'class' => 'btn'
+% end
+
+% if ($subs) {
+
+% for my $item (@$subs) {
+% my ($dir, $align) = ($item->{rtl}) ? ('rtl', 'right') : ('ltr', 'left');
+ rss
+<%== $item->{title} %>
+
+Categories
+%= join q{, }, sort @{ $item->{categories} || [] };
+
+
+% }
+
diff --git a/test/markup/monkey/default.expect.txt b/test/markup/monkey/default.expect.txt
new file mode 100644
index 0000000000..8dfd03e961
--- /dev/null
+++ b/test/markup/monkey/default.expect.txt
@@ -0,0 +1,37 @@
+#IMAGE_FILES="*.png|*.jpg"
+#SOUND_FILES="*.wav|*.ogg"
+#MUSIC_FILES="*.wav|*.ogg"
+#BINARY_FILES="*.bin|*.dat"
+
+Import mojo
+
+
+Class GameApp Extends App
+ Field player:Player
+
+ Method OnCreate : Int()
+ Local img:Image = LoadImage("player.png" )
+ Self .player = New Player()
+ SetUpdateRate(60 )
+
+ Return 0
+ End
+
+ Method OnUpdate : Int()
+ player.x += HALFPI
+
+ If (player.x > 100 ) Then
+ player.x = 0
+ Endif
+
+ Return 0
+ End
+
+ Method OnRender : Int()
+ Cls(32 , 64 , 128 )
+ player.Draw()
+
+ player = Null
+ Return 0
+ End
+End
diff --git a/test/markup/monkey/default.txt b/test/markup/monkey/default.txt
new file mode 100644
index 0000000000..4db94a751f
--- /dev/null
+++ b/test/markup/monkey/default.txt
@@ -0,0 +1,37 @@
+#IMAGE_FILES="*.png|*.jpg"
+#SOUND_FILES="*.wav|*.ogg"
+#MUSIC_FILES="*.wav|*.ogg"
+#BINARY_FILES="*.bin|*.dat"
+
+Import mojo
+
+' The main class which expends Mojo's 'App' class:
+Class GameApp Extends App
+ Field player:Player
+
+ Method OnCreate:Int()
+ Local img:Image = LoadImage("player.png")
+ Self.player = New Player()
+ SetUpdateRate(60)
+
+ Return 0
+ End
+
+ Method OnUpdate:Int()
+ player.x += HALFPI
+
+ If (player.x > 100) Then
+ player.x = 0
+ Endif
+
+ Return 0
+ End
+
+ Method OnRender:Int()
+ Cls(32, 64, 128)
+ player.Draw()
+
+ player = Null
+ Return 0
+ End
+End
diff --git a/test/markup/moonscript/default.expect.txt b/test/markup/moonscript/default.expect.txt
new file mode 100644
index 0000000000..3a6b888517
--- /dev/null
+++ b/test/markup/moonscript/default.expect.txt
@@ -0,0 +1,37 @@
+print "I am #{math .random! * 100 } % sure."
+
+my_function = (name="something" , height=100 ) ->
+ print "Hello I am" , name
+ print "My height is" , height
+
+my_function dance : "Tango" , partner : "none"
+
+my_func 5 ,4 ,3 ,
+ 8 ,9 ,10
+
+table = {
+ name : "Bill" ,
+ age : 200 ,
+ ["favorite food" ]: "rice" ,
+ :keyvalue,
+ [1 +7 ]: 'eight'
+}
+
+class Inventory
+ new : =>
+ @items = {}
+
+ add_item : (name) =>
+ if @items[name]
+ @items[name] += 1
+ else
+ @items[name] = 1
+
+inv = Inventory!
+inv\add_item "t-shirt"
+inv\add_item "pants"
+
+import
+ assert_csrf
+ require_login
+ from require "helpers"
diff --git a/test/markup/moonscript/default.txt b/test/markup/moonscript/default.txt
new file mode 100644
index 0000000000..8d455d4771
--- /dev/null
+++ b/test/markup/moonscript/default.txt
@@ -0,0 +1,37 @@
+print "I am #{math.random! * 100}% sure."
+
+my_function = (name="something", height=100) ->
+ print "Hello I am", name
+ print "My height is", height
+
+my_function dance: "Tango", partner: "none"
+
+my_func 5,4,3, -- multi-line arguments
+ 8,9,10
+
+table = {
+ name: "Bill",
+ age: 200,
+ ["favorite food"]: "rice",
+ :keyvalue,
+ [1+7]: 'eight'
+}
+
+class Inventory
+ new: =>
+ @items = {}
+
+ add_item: (name) =>
+ if @items[name]
+ @items[name] += 1
+ else
+ @items[name] = 1
+
+inv = Inventory!
+inv\add_item "t-shirt"
+inv\add_item "pants"
+
+import
+ assert_csrf
+ require_login
+ from require "helpers"
diff --git a/test/markup/n1ql/default.expect.txt b/test/markup/n1ql/default.expect.txt
new file mode 100644
index 0000000000..7810388422
--- /dev/null
+++ b/test/markup/n1ql/default.expect.txt
@@ -0,0 +1,19 @@
+SELECT *
+FROM `beer-sample`
+WHERE brewery_id IS NOT MISSING AND type ="beer"
+LIMIT 1 ;
+
+UPSERT INTO product (KEY , VALUE ) VALUES (
+ "odwalla-juice1" , {
+ "productId" : "odwalla-juice1" ,
+ "unitPrice" : 5.40 ,
+ "type" : "product" ,
+ "color" :"red"
+ }
+) RETURNING *;
+
+INFER `beer-sample` WITH {
+ "sample_size" : 10000 ,
+ "num_sample_values" : 1 ,
+ "similarity_metric" : 0.0
+};
diff --git a/test/markup/n1ql/default.txt b/test/markup/n1ql/default.txt
new file mode 100644
index 0000000000..8c26f53cbf
--- /dev/null
+++ b/test/markup/n1ql/default.txt
@@ -0,0 +1,19 @@
+SELECT *
+FROM `beer-sample`
+WHERE brewery_id IS NOT MISSING AND type="beer"
+LIMIT 1;
+
+UPSERT INTO product (KEY, VALUE) VALUES (
+ "odwalla-juice1", {
+ "productId": "odwalla-juice1",
+ "unitPrice": 5.40,
+ "type": "product",
+ "color":"red"
+ }
+) RETURNING *;
+
+INFER `beer-sample` WITH {
+ "sample_size": 10000,
+ "num_sample_values": 1,
+ "similarity_metric": 0.0
+};
diff --git a/test/markup/nginx/default.expect.txt b/test/markup/nginx/default.expect.txt
new file mode 100644
index 0000000000..f4fce54343
--- /dev/null
+++ b/test/markup/nginx/default.expect.txt
@@ -0,0 +1,47 @@
+user www www;
+worker_processes 2 ;
+pid /var/run/nginx.pid;
+error_log /var/log/nginx.error_log debug | info | notice | warn | error | crit ;
+
+events {
+ connections 2000 ;
+ use kqueue | rtsig | epoll | /dev/poll | select | poll ;
+}
+
+http {
+ log_format main '$remote_addr - $remote_user [$time_local] '
+ '"$request" $status $bytes_sent '
+ '"$http_referer" "$http_user_agent" '
+ '"$gzip_ratio"' ;
+
+ send_timeout 3m ;
+ client_header_buffer_size 1k ;
+
+ gzip on ;
+ gzip_min_length 1100 ;
+
+
+
+ server {
+ server_name one.example.com www.one.example.com;
+ access_log /var/log/nginx.access_log main;
+
+ rewrite (.*) /index.php?page=$1 break ;
+
+ location / {
+ proxy_pass http://127.0.0.1/;
+ proxy_redirect off ;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ charset koi8-r;
+ }
+
+ location /api/ {
+ fastcgi_pass 127.0.0.1:9000 ;
+ }
+
+ location ~* \.(jpg|jpeg|gif)$ {
+ root /spool/www;
+ }
+ }
+}
diff --git a/test/markup/nginx/default.txt b/test/markup/nginx/default.txt
new file mode 100644
index 0000000000..adf4b7e92e
--- /dev/null
+++ b/test/markup/nginx/default.txt
@@ -0,0 +1,47 @@
+user www www;
+worker_processes 2;
+pid /var/run/nginx.pid;
+error_log /var/log/nginx.error_log debug | info | notice | warn | error | crit;
+
+events {
+ connections 2000;
+ use kqueue | rtsig | epoll | /dev/poll | select | poll;
+}
+
+http {
+ log_format main '$remote_addr - $remote_user [$time_local] '
+ '"$request" $status $bytes_sent '
+ '"$http_referer" "$http_user_agent" '
+ '"$gzip_ratio"';
+
+ send_timeout 3m;
+ client_header_buffer_size 1k;
+
+ gzip on;
+ gzip_min_length 1100;
+
+ #lingering_time 30;
+
+ server {
+ server_name one.example.com www.one.example.com;
+ access_log /var/log/nginx.access_log main;
+
+ rewrite (.*) /index.php?page=$1 break;
+
+ location / {
+ proxy_pass http://127.0.0.1/;
+ proxy_redirect off;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ charset koi8-r;
+ }
+
+ location /api/ {
+ fastcgi_pass 127.0.0.1:9000;
+ }
+
+ location ~* \.(jpg|jpeg|gif)$ {
+ root /spool/www;
+ }
+ }
+}
diff --git a/test/markup/nim/default.expect.txt b/test/markup/nim/default.expect.txt
new file mode 100644
index 0000000000..f69a2192a9
--- /dev/null
+++ b/test/markup/nim/default.expect.txt
@@ -0,0 +1,21 @@
+import module1, module2, module3
+from module4 import nil
+
+type
+ TFoo = object
+ a: int32
+ PFoo = ref TFoo
+
+proc do_stuff314(param_1: TFoo , par2am: var PFoo ): PFoo {.exportc: "dostuff" .} =
+
+ discard """
+ dfag
+sdfg""
+"""
+ result = nil
+
+method abc(a: TFoo ) = discard 1u32 + 0xabcdefABCDEFi32 + 0o01234567i8 + 0b010
+
+discard rawstring"asdf""adfa"
+var normalstring = "asdf"
+let a: uint32 = 0xFFaF'u32
diff --git a/test/markup/nim/default.txt b/test/markup/nim/default.txt
new file mode 100644
index 0000000000..32cb9cc16f
--- /dev/null
+++ b/test/markup/nim/default.txt
@@ -0,0 +1,21 @@
+import module1, module2, module3
+from module4 import nil
+
+type
+ TFoo = object ## Doc comment
+ a: int32
+ PFoo = ref TFoo
+
+proc do_stuff314(param_1: TFoo, par2am: var PFoo): PFoo {.exportc: "dostuff" .} =
+ # Regular comment
+ discard """
+ dfag
+sdfg""
+"""
+ result = nil
+
+method abc(a: TFoo) = discard 1u32 + 0xabcdefABCDEFi32 + 0o01234567i8 + 0b010
+
+discard rawstring"asdf""adfa"
+var normalstring = "asdf"
+let a: uint32 = 0xFFaF'u32
diff --git a/test/markup/nix/default.expect.txt b/test/markup/nix/default.expect.txt
new file mode 100644
index 0000000000..97d6b3cb6a
--- /dev/null
+++ b/test/markup/nix/default.expect.txt
@@ -0,0 +1,24 @@
+{ stdenv, foo, bar ? false , ... }:
+
+
+
+let
+ a = 1 ;
+ b = null ;
+ c = toString 10 ;
+in stdenv.mkDerivation rec {
+ name = "foo-${version} " ;
+ version = "1.3" ;
+
+ configureFlags = [ "--with-foo2" ] ++ stdenv.lib.optional bar "--with-foo=${ with stdenv.lib; foo } "
+
+ postInstall = ''
+ ${ if true then "--${test} " else false }
+ '' ;
+
+ meta = with stdenv.lib; {
+ homepage = https://nixos.org;
+ };
+}
diff --git a/test/markup/nix/default.txt b/test/markup/nix/default.txt
new file mode 100644
index 0000000000..ae8b8f7531
--- /dev/null
+++ b/test/markup/nix/default.txt
@@ -0,0 +1,24 @@
+{ stdenv, foo, bar ? false, ... }:
+
+/*
+ * foo
+ */
+
+let
+ a = 1; # just a comment
+ b = null;
+ c = toString 10;
+in stdenv.mkDerivation rec {
+ name = "foo-${version}";
+ version = "1.3";
+
+ configureFlags = [ "--with-foo2" ] ++ stdenv.lib.optional bar "--with-foo=${ with stdenv.lib; foo }"
+
+ postInstall = ''
+ ${ if true then "--${test}" else false }
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = https://nixos.org;
+ };
+}
diff --git a/test/markup/nsis/default.expect.txt b/test/markup/nsis/default.expect.txt
new file mode 100644
index 0000000000..d3e453a2b0
--- /dev/null
+++ b/test/markup/nsis/default.expect.txt
@@ -0,0 +1,37 @@
+
+
+
+!include MUI2.nsh
+
+
+!define x64 "true"
+
+
+Name "installer_name"
+OutFile "installer_name.exe"
+RequestExecutionLevel user
+CRCCheck on
+
+!if def ${x64}
+ InstallDir "$PROGRAMFILES64 \installer_name"
+!else
+ InstallDir "$PROGRAMFILES \installer_name"
+!endif
+
+
+!insertmacro MUI_PAGE_INSTFILES
+
+
+Section "section_name" section_index
+ nsExec::ExecToLog "calc.exe"
+SectionEnd
+
+
+Function .onInit
+ DetailPrint "The install button reads $(^InstallBtn) "
+ DetailPrint 'Here comes a$\n $\r line-break!'
+ DetailPrint `Escape the dollar-sign: $$ `
+FunctionEnd
diff --git a/test/markup/nsis/default.txt b/test/markup/nsis/default.txt
new file mode 100644
index 0000000000..b6e228cf3d
--- /dev/null
+++ b/test/markup/nsis/default.txt
@@ -0,0 +1,37 @@
+/*
+ NSIS Scheme
+ for highlight.js
+*/
+
+; Includes
+!include MUI2.nsh
+
+; Defines
+!define x64 "true"
+
+; Settings
+Name "installer_name"
+OutFile "installer_name.exe"
+RequestExecutionLevel user
+CRCCheck on
+
+!ifdef ${x64}
+ InstallDir "$PROGRAMFILES64\installer_name"
+!else
+ InstallDir "$PROGRAMFILES\installer_name"
+!endif
+
+; Pages
+!insertmacro MUI_PAGE_INSTFILES
+
+; Sections
+Section "section_name" section_index
+ nsExec::ExecToLog "calc.exe"
+SectionEnd
+
+; Functions
+Function .onInit
+ DetailPrint "The install button reads $(^InstallBtn)"
+ DetailPrint 'Here comes a$\n$\rline-break!'
+ DetailPrint `Escape the dollar-sign: $$`
+FunctionEnd
diff --git a/test/markup/openscad/default.expect.txt b/test/markup/openscad/default.expect.txt
new file mode 100644
index 0000000000..0b2df0370f
--- /dev/null
+++ b/test/markup/openscad/default.expect.txt
@@ -0,0 +1,15 @@
+use <write.scad>
+include <../common/base.scad>
+
+
+module foobar () {
+ translate ([0 ,-10 ,0 ])
+ difference (){
+ cube ([5 ,10.04 ,15 ]);
+ sphere (r=10 ,$fn =100 );
+ }
+}
+
+foobar();
+#cube ([5 ,5 ,5 ]);
+echo ("done" );
\ No newline at end of file
diff --git a/test/markup/openscad/default.txt b/test/markup/openscad/default.txt
new file mode 100644
index 0000000000..706ee13197
--- /dev/null
+++ b/test/markup/openscad/default.txt
@@ -0,0 +1,15 @@
+use
+include <../common/base.scad>
+
+//draw a foobar
+module foobar(){
+ translate([0,-10,0])
+ difference(){
+ cube([5,10.04,15]);
+ sphere(r=10,$fn=100);
+ }
+}
+
+foobar();
+#cube ([5,5,5]);
+echo("done");
\ No newline at end of file
diff --git a/test/markup/oxygene/default.expect.txt b/test/markup/oxygene/default.expect.txt
new file mode 100644
index 0000000000..ed31804143
--- /dev/null
+++ b/test/markup/oxygene/default.expect.txt
@@ -0,0 +1,56 @@
+namespace LinkedList;
+
+interface
+
+uses
+ System.Text;
+
+type
+ List<T> = public class
+ where T is Object;
+ private
+ method AppendToString (aBuilder: StringBuilder) ;
+ public
+ constructor (aData: T) ;
+ constructor (aData: T; aNext: List<T>) ;
+ property Next: List<T>;
+ property Data: T;
+
+ method ToString : string; override ;
+ end ;
+
+implementation
+
+constructor List <T >(aData: T) ;
+begin
+ Data := aData;
+end ;
+
+constructor List <T >(aData: T; aNext: List<T>) ;
+begin
+ constructor (aData) ;
+ Next := aNext;
+end ;
+
+method List <T >.ToString : string;
+begin
+ with lBuilder := new StringBuilder do begin
+ AppendToString(lBuilder);
+ result := lBuilder.ToString();
+ end ;
+end ;
+
+method List <T >.AppendToString (aBuilder: StringBuilder) ;
+begin
+ if assigned(Data) then
+ aBuilder.Append(Data.ToString)
+ else
+ aBuilder.Append('nil' );
+
+ if assigned(Next) then begin
+ aBuilder.Append(', ' );
+ Next.AppendToString(aBuilder);
+ end ;
+end ;
+
+end .
diff --git a/test/markup/oxygene/default.txt b/test/markup/oxygene/default.txt
new file mode 100644
index 0000000000..49b337b6fa
--- /dev/null
+++ b/test/markup/oxygene/default.txt
@@ -0,0 +1,56 @@
+namespace LinkedList;
+
+interface
+
+uses
+ System.Text;
+
+type
+ List = public class
+ where T is Object;
+ private
+ method AppendToString(aBuilder: StringBuilder);
+ public
+ constructor(aData: T);
+ constructor(aData: T; aNext: List);
+ property Next: List;
+ property Data: T;
+
+ method ToString: string; override;
+ end;
+
+implementation
+
+constructor List(aData: T);
+begin
+ Data := aData;
+end;
+
+constructor List(aData: T; aNext: List);
+begin
+ constructor(aData);
+ Next := aNext;
+end;
+
+method List.ToString: string;
+begin
+ with lBuilder := new StringBuilder do begin
+ AppendToString(lBuilder);
+ result := lBuilder.ToString();
+ end;
+end;
+
+method List.AppendToString(aBuilder: StringBuilder);
+begin
+ if assigned(Data) then
+ aBuilder.Append(Data.ToString)
+ else
+ aBuilder.Append('nil');
+
+ if assigned(Next) then begin
+ aBuilder.Append(', ');
+ Next.AppendToString(aBuilder);
+ end;
+end;
+
+end.
diff --git a/test/markup/parser3/default.expect.txt b/test/markup/parser3/default.expect.txt
new file mode 100644
index 0000000000..b597ade13b
--- /dev/null
+++ b/test/markup/parser3/default.expect.txt
@@ -0,0 +1,35 @@
+@CLASS
+base
+
+ @USE
+module.p
+
+ @BASE
+class
+
+
+ @create[aParam1;aParam2][local1;local2]
+ ^connect [mysql://host/database?ClientCharset=windows -1251 ]
+ ^for [i]( 1 ; 10 ){
+ <p class ="paragraph" > ^eval ( $i + 10 )</p >
+ ^connect [mysql://host/database]{
+ $tab [ ^table::sql {select * from `table` where a=' 1 '}]
+ $var_Name [some ${value} ]
+ }
+ }
+
+
+ ^taint [ ^#0A ]
+
+ @GET_base[]
+
+ # Isn't comment
+ $result [ $.hash_item1 [one] $.hash_item2 [two]]
+
\ No newline at end of file
diff --git a/test/markup/parser3/default.txt b/test/markup/parser3/default.txt
new file mode 100644
index 0000000000..65374a396f
--- /dev/null
+++ b/test/markup/parser3/default.txt
@@ -0,0 +1,34 @@
+@CLASS
+base
+
+@USE
+module.p
+
+@BASE
+class
+
+# Comment for code
+@create[aParam1;aParam2][local1;local2]
+ ^connect[mysql://host/database?ClientCharset=windows-1251]
+ ^for[i](1;10){
+ ^eval($i+10)
+ ^connect[mysql://host/database]{
+ $tab[^table::sql{select * from `table` where a='1'}]
+ $var_Name[some${value}]
+ }
+ }
+
+ ^rem{
+ Multiline comment with code: $var
+ ^while(true){
+ ^for[i](1;10){
+ ^sleep[]
+ }
+ }
+ }
+ ^taint[^#0A]
+
+@GET_base[]
+## Comment for code
+ # Isn't comment
+ $result[$.hash_item1[one] $.hash_item2[two]]
diff --git a/test/markup/perl/default.expect.txt b/test/markup/perl/default.expect.txt
new file mode 100644
index 0000000000..b156d6c37f
--- /dev/null
+++ b/test/markup/perl/default.expect.txt
@@ -0,0 +1,42 @@
+
+sub load
+ {
+ my $flds = $c->db_load($id,@_) || do {
+ Carp::carp "Can`t load (class: $c, id: $id): '$!'" ; return undef
+ };
+ my $o = $c->_perl_new();
+ $id12 = $id / 24 / 3600 ;
+ $o->{'ID' } = $id12 + 123 ;
+
+ my $p = $o->props;
+ my $vt;
+ $string =~ m/^sought_text$/ ;
+ $items = split // , 'abc' ;
+ $string //= "bar" ;
+ for my $key (keys %$p)
+ {
+ if (${$vt.'::property' }) {
+ $o->{$key . '_real' } = $flds->{$key};
+ tie $o->{$key}, 'CMSBuilder::Property' , $o, $key;
+ }
+ }
+ $o->save if delete $o->{'_save_after_load' };
+
+
+ my $g = glob ("/usr/bin/*" );
+
+ return $o;
+}
+
+__DATA__
+
+<!DOCTYPE html >
+<html >
+ <head > <title > <%= title %></title > </head >
+ <body > <%= content %></body >
+</html >
+ __END__
+
+
\ No newline at end of file
diff --git a/test/markup/perl/default.txt b/test/markup/perl/default.txt
new file mode 100644
index 0000000000..3b08442d07
--- /dev/null
+++ b/test/markup/perl/default.txt
@@ -0,0 +1,41 @@
+# loads object
+sub load
+{
+ my $flds = $c->db_load($id,@_) || do {
+ Carp::carp "Can`t load (class: $c, id: $id): '$!'"; return undef
+ };
+ my $o = $c->_perl_new();
+ $id12 = $id / 24 / 3600;
+ $o->{'ID'} = $id12 + 123;
+ #$o->{'SHCUT'} = $flds->{'SHCUT'};
+ my $p = $o->props;
+ my $vt;
+ $string =~ m/^sought_text$/;
+ $items = split //, 'abc';
+ $string //= "bar";
+ for my $key (keys %$p)
+ {
+ if(${$vt.'::property'}) {
+ $o->{$key . '_real'} = $flds->{$key};
+ tie $o->{$key}, 'CMSBuilder::Property', $o, $key;
+ }
+ }
+ $o->save if delete $o->{'_save_after_load'};
+
+ # GH-117
+ my $g = glob("/usr/bin/*");
+
+ return $o;
+}
+
+__DATA__
+@@ layouts/default.html.ep
+
+
+ <%= title %>
+ <%= content %>
+
+__END__
+
+=head1 NAME
+POD till the end of file
diff --git a/test/markup/pf/default.expect.txt b/test/markup/pf/default.expect.txt
new file mode 100644
index 0000000000..7aaf588ffe
--- /dev/null
+++ b/test/markup/pf/default.expect.txt
@@ -0,0 +1,43 @@
+
+
+
+
+int_if="xl0"
+
+tcp_services="{ 22, 113 }"
+icmp_types="echoreq"
+
+comp3="192.168.0.3"
+
+
+
+set block-policy return
+set loginterface egress
+set skip on lo
+
+
+
+anchor "ftp-proxy/*"
+
+pass in quick on $int_if inet proto tcp to any port ftp \
+ divert-to 127.0 .0.1 port 8021
+
+
+
+match out on egress inet from !(egress :network) to any nat-to (egress :0 )
+
+
+
+block in log
+pass out quick
+
+antispoof quick for { lo $int_if }
+
+pass in on egress inet proto tcp from any to (egress ) \
+ port $tcp_services
+
+pass in on egress inet proto tcp to (egress ) port 80 rdr-to $comp3
+
+pass in inet proto icmp all icmp-type $icmp_types
+
+pass in on $int_if
diff --git a/test/markup/pf/default.txt b/test/markup/pf/default.txt
new file mode 100644
index 0000000000..3fc2e6311e
--- /dev/null
+++ b/test/markup/pf/default.txt
@@ -0,0 +1,43 @@
+# from the PF FAQ: http://www.openbsd.org/faq/pf/example1.html
+
+# macros
+
+int_if="xl0"
+
+tcp_services="{ 22, 113 }"
+icmp_types="echoreq"
+
+comp3="192.168.0.3"
+
+# options
+
+set block-policy return
+set loginterface egress
+set skip on lo
+
+# FTP Proxy rules
+
+anchor "ftp-proxy/*"
+
+pass in quick on $int_if inet proto tcp to any port ftp \
+ divert-to 127.0.0.1 port 8021
+
+# match rules
+
+match out on egress inet from !(egress:network) to any nat-to (egress:0)
+
+# filter rules
+
+block in log
+pass out quick
+
+antispoof quick for { lo $int_if }
+
+pass in on egress inet proto tcp from any to (egress) \
+ port $tcp_services
+
+pass in on egress inet proto tcp to (egress) port 80 rdr-to $comp3
+
+pass in inet proto icmp all icmp-type $icmp_types
+
+pass in on $int_if
diff --git a/test/markup/php-template/default.expect.txt b/test/markup/php-template/default.expect.txt
new file mode 100644
index 0000000000..51fb9aaae8
--- /dev/null
+++ b/test/markup/php-template/default.expect.txt
@@ -0,0 +1,9 @@
+<html >
+</html >
+<body >
+<?php
+
+echo "Hello, world!" ;
+?>
+</body >
+
\ No newline at end of file
diff --git a/test/markup/php-template/default.txt b/test/markup/php-template/default.txt
new file mode 100644
index 0000000000..d01ad4a791
--- /dev/null
+++ b/test/markup/php-template/default.txt
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/test/markup/plaintext/default.expect.txt b/test/markup/plaintext/default.expect.txt
new file mode 100644
index 0000000000..87ef5b00e2
--- /dev/null
+++ b/test/markup/plaintext/default.expect.txt
@@ -0,0 +1,6 @@
+ id | description
+----+-------------
+ 1 | one
+ 2 | two
+ 3 | three
+(3 rows)
diff --git a/test/markup/plaintext/default.txt b/test/markup/plaintext/default.txt
new file mode 100644
index 0000000000..87ef5b00e2
--- /dev/null
+++ b/test/markup/plaintext/default.txt
@@ -0,0 +1,6 @@
+ id | description
+----+-------------
+ 1 | one
+ 2 | two
+ 3 | three
+(3 rows)
diff --git a/test/markup/processing/default.expect.txt b/test/markup/processing/default.expect.txt
new file mode 100644
index 0000000000..aff42637ac
--- /dev/null
+++ b/test/markup/processing/default.expect.txt
@@ -0,0 +1,17 @@
+import java.util.LinkedList;
+import java.awt.Point;
+
+PGraphics pg;
+String load;
+
+void setup () {
+ size (displayWidth , displayHeight , P3D );
+ pg = createGraphics (displayWidth *2 ,displayHeight ,P2D );
+ pg.beginDraw ();
+ pg.background (255 ,255 ,255 );
+
+ pg.endDraw();
+}
+void draw (){
+ background (255 );
+}
diff --git a/test/markup/processing/default.txt b/test/markup/processing/default.txt
new file mode 100644
index 0000000000..de894d9af3
--- /dev/null
+++ b/test/markup/processing/default.txt
@@ -0,0 +1,17 @@
+import java.util.LinkedList;
+import java.awt.Point;
+
+PGraphics pg;
+String load;
+
+void setup() {
+ size(displayWidth, displayHeight, P3D);
+ pg = createGraphics(displayWidth*2,displayHeight,P2D);
+ pg.beginDraw();
+ pg.background(255,255,255);
+ //pg.smooth(8);
+ pg.endDraw();
+}
+void draw(){
+ background(255);
+}
diff --git a/test/markup/profile/default.expect.txt b/test/markup/profile/default.expect.txt
new file mode 100644
index 0000000000..58a10b62d7
--- /dev/null
+++ b/test/markup/profile/default.expect.txt
@@ -0,0 +1,8 @@
+ 261917242 function calls in 686.251 CPU seconds
+
+ ncalls tottime filename :lineno(function)
+ 152824 513.894 {method 'sort' of 'list' objects}
+ 129590630 83.894 rrule.py:842 (__cmp__ )
+ 129590630 82.439 {cmp}
+ 153900 1.296 rrule.py:399 (_iter )
+304393 /151570 0.963 rrule.py:102 (_iter_cached )
diff --git a/test/markup/profile/default.txt b/test/markup/profile/default.txt
new file mode 100644
index 0000000000..252e00638b
--- /dev/null
+++ b/test/markup/profile/default.txt
@@ -0,0 +1,8 @@
+ 261917242 function calls in 686.251 CPU seconds
+
+ ncalls tottime filename:lineno(function)
+ 152824 513.894 {method 'sort' of 'list' objects}
+ 129590630 83.894 rrule.py:842(__cmp__)
+ 129590630 82.439 {cmp}
+ 153900 1.296 rrule.py:399(_iter)
+304393/151570 0.963 rrule.py:102(_iter_cached)
diff --git a/test/markup/prolog/default.expect.txt b/test/markup/prolog/default.expect.txt
new file mode 100644
index 0000000000..1e6c35482a
--- /dev/null
+++ b/test/markup/prolog/default.expect.txt
@@ -0,0 +1,11 @@
+mergesort([],[]).
+mergesort([A ],[A ]).
+mergesort([A ,B |R ],S ) :-
+ split([A ,B |R ],L1 ,L2 ),
+ mergesort(L1 ,S1 ),
+ mergesort(L2 ,S2 ),
+ merge(S1 ,S2 ,S ).
+
+split([],[],[]).
+split([A ],[A ],[]).
+split([A ,B |R ],[A |Ra ],[B |Rb ]) :- split(R ,Ra ,Rb ).
diff --git a/test/markup/prolog/default.txt b/test/markup/prolog/default.txt
new file mode 100644
index 0000000000..57b453b4d6
--- /dev/null
+++ b/test/markup/prolog/default.txt
@@ -0,0 +1,11 @@
+mergesort([],[]). % special case
+mergesort([A],[A]).
+mergesort([A,B|R],S) :-
+ split([A,B|R],L1,L2),
+ mergesort(L1,S1),
+ mergesort(L2,S2),
+ merge(S1,S2,S).
+
+split([],[],[]).
+split([A],[A],[]).
+split([A,B|R],[A|Ra],[B|Rb]) :- split(R,Ra,Rb).
diff --git a/test/markup/puppet/default.expect.txt b/test/markup/puppet/default.expect.txt
new file mode 100644
index 0000000000..652d476593
--- /dev/null
+++ b/test/markup/puppet/default.expect.txt
@@ -0,0 +1,33 @@
+
+
+class ec2utils {
+
+
+ $ec2path = ["/usr/bin" , "/bin" , "/usr/sbin" , "/sbin" ,
+ "/opt/ec2/ec2-api-tools/bin" ,
+ "/opt/ec2/aws-elb-tools/bin" ]
+
+ define elasticip ($instanceid , $ip )
+ {
+ exec { "ec2-associate-address-$name " :
+ logoutput => on_failure,
+ environment => $ec2utils::ec2env ,
+ path => $ec2utils::ec2path ,
+ command => "ec2assocaddr $ip \
+ -i $instanceid " ,
+
+ unless => "test `ec2daddr $ip | awk '{print \$3}'` == $instanceid " ,
+ }
+ }
+
+ mount { "$mountpoint " :
+ device => $devicetomount ,
+ ensure => mounted ,
+ fstype => $fstype ,
+ options => $mountoptions ,
+ require => [ Exec["ec2-attach-volume-$name " ],
+ File["$mountpoint " ]
+ ],
+ }
+
+}
diff --git a/test/markup/puppet/default.txt b/test/markup/puppet/default.txt
new file mode 100644
index 0000000000..7f22820b8b
--- /dev/null
+++ b/test/markup/puppet/default.txt
@@ -0,0 +1,33 @@
+# EC2 sample
+
+class ec2utils {
+
+ # This must include the path to the Amazon EC2 tools
+ $ec2path = ["/usr/bin", "/bin", "/usr/sbin", "/sbin",
+ "/opt/ec2/ec2-api-tools/bin",
+ "/opt/ec2/aws-elb-tools/bin"]
+
+ define elasticip ($instanceid, $ip)
+ {
+ exec { "ec2-associate-address-$name":
+ logoutput => on_failure,
+ environment => $ec2utils::ec2env,
+ path => $ec2utils::ec2path,
+ command => "ec2assocaddr $ip \
+ -i $instanceid",
+ # Only do this when necessary
+ unless => "test `ec2daddr $ip | awk '{print \$3}'` == $instanceid",
+ }
+ }
+
+ mount { "$mountpoint":
+ device => $devicetomount,
+ ensure => mounted,
+ fstype => $fstype,
+ options => $mountoptions,
+ require => [ Exec["ec2-attach-volume-$name"],
+ File["$mountpoint"]
+ ],
+ }
+
+}
diff --git a/test/markup/purebasic/default.expect.txt b/test/markup/purebasic/default.expect.txt
new file mode 100644
index 0000000000..48cce5c815
--- /dev/null
+++ b/test/markup/purebasic/default.expect.txt
@@ -0,0 +1,29 @@
+
+
+Enumeration Test 3 Step 10
+ #Constant_One
+ #Constant_Two
+EndEnumeration
+
+A.i = #Constant_One
+B = A + 3
+
+STRING.s = SomeProcedure("Hello World" , 2, #Empty$ , #Null$ )
+ESCAPED_STRING$ = ~"An escaped (\\) string!\nNewline..."
+
+FixedString.s{5} = "12345"
+
+Macro XCase(Type, Text)
+ Type#Case (Text)
+EndMacro
+
+StrangeProcedureCall ("This command is split " +
+ "over two lines" )
+
+If B > 3 : X$ = "Concatenation of commands" : Else : X$ = "Using colons" : EndIf
+
+Declare .s Attach (String1$, String2$)
+
+Procedure .s Attach (String1$, String2$)
+ ProcedureReturn String1$+" " +String2$
+EndProcedure
diff --git a/test/markup/purebasic/default.txt b/test/markup/purebasic/default.txt
new file mode 100644
index 0000000000..b722b550dc
--- /dev/null
+++ b/test/markup/purebasic/default.txt
@@ -0,0 +1,29 @@
+; PureBASIC 5 - Syntax Highlighting Example
+
+Enumeration Test 3 Step 10
+ #Constant_One ; Will be 3
+ #Constant_Two ; Will be 13
+EndEnumeration
+
+A.i = #Constant_One
+B = A + 3
+
+STRING.s = SomeProcedure("Hello World", 2, #Empty$, #Null$)
+ESCAPED_STRING$ = ~"An escaped (\\) string!\nNewline..."
+
+FixedString.s{5} = "12345"
+
+Macro XCase(Type, Text)
+ Type#Case(Text)
+EndMacro
+
+StrangeProcedureCall ("This command is split " +
+ "over two lines") ; Line continuation example
+
+If B > 3 : X$ = "Concatenation of commands" : Else : X$ = "Using colons" : EndIf
+
+Declare.s Attach(String1$, String2$)
+
+Procedure.s Attach(String1$, String2$)
+ ProcedureReturn String1$+" "+String2$
+EndProcedure
diff --git a/test/markup/q/default.expect.txt b/test/markup/q/default.expect.txt
new file mode 100644
index 0000000000..86b9e52d68
--- /dev/null
+++ b/test/markup/q/default.expect.txt
@@ -0,0 +1,9 @@
+select time, price by date,stock from quote where price=(max ;price)fby stock
+data:raze value flip trade
+select vwap:size wavg price by 5 xbar time.minute from aapl where date within (.z.d-10 ;.z.d)
+f1:{[x;y;z] show (x;y+z);sum 1 2 3 }
+.z.pc:{[handle] show -3 !(`long $.z.p;"Closed" ;handle)}
+
+nor:{$[x=2 *n:x div 2 ;raze sqrt[-2 *log n?1 f]*/:(sin ;cos )@\:(2 *pi)*n?1 f;-1 _.z.s 1 +x]}
+
+mode:{where g=max g:count each group x}
\ No newline at end of file
diff --git a/test/markup/q/default.txt b/test/markup/q/default.txt
new file mode 100644
index 0000000000..6e9e3d9018
--- /dev/null
+++ b/test/markup/q/default.txt
@@ -0,0 +1,9 @@
+select time, price by date,stock from quote where price=(max;price)fby stock
+data:raze value flip trade
+select vwap:size wavg price by 5 xbar time.minute from aapl where date within (.z.d-10;.z.d)
+f1:{[x;y;z] show (x;y+z);sum 1 2 3}
+.z.pc:{[handle] show -3!(`long$.z.p;"Closed";handle)}
+// random normal distribution, e.g. nor 10
+nor:{$[x=2*n:x div 2;raze sqrt[-2*log n?1f]*/:(sin;cos)@\:(2*pi)*n?1f;-1_.z.s 1+x]}
+
+mode:{where g=max g:count each group x} // mode function
\ No newline at end of file
diff --git a/test/markup/qml/default.expect.txt b/test/markup/qml/default.expect.txt
new file mode 100644
index 0000000000..ea63ced5f5
--- /dev/null
+++ b/test/markup/qml/default.expect.txt
@@ -0,0 +1,49 @@
+
+import QtQuick 2.5
+
+Window {
+ id: root
+ width : 1024 ; height : 600
+ color : "black"
+ property int highestZ : 0
+ property real defaultSize = 200.1
+ signal activated (real xPosition, real yPosition)
+
+ FileDialog {
+ id: fileDialog
+ title : "Choose a folder with some images"
+ onAccepted : folderModel.folder = fileUrl + "/"
+ }
+ Flickable {
+ id: flickableproperty
+ contentHeight : height * surfaceViewportRatio
+ property real zRestore : 0
+ Behavior on scale { NumberAnimation { duration : 200 } }
+ Repeater {
+ model : FolderListModel {
+ id: folderModel
+ nameFilters : ["*.png" , "*.jpg" , "*.gif" ]
+ }
+ Component.onCompleted : {
+ var x;
+ x = Math .random() * root.width - width / 2
+ rotation = Math .random() * 13 - 6
+ if (pinch.scale > 0 ) {
+ photoFrame.rotation = 0 ;
+ photoFrame.scale = Math .min(root.width, root.height) / Math .max(image.sourceSize.width, image.sourceSize.height) * 0.85
+ } else {
+ photoFrame.rotation = pinch.previousAngle
+ photoFrame.scale = pinch.previousScale
+ }
+ }
+ function setFrameColor ( ) {
+ if (currentFrame)
+ currentFrame.border.color = "black" ;
+ currentFrame = photoFrame;
+ }
+ }
+ }
+ Timer { id: fadeTimer ; interval : 1000 ; onTriggered : { hfade.start(); vfade.start() } }
+ Component.onCompleted : fileDialog.open()
+}
diff --git a/test/markup/qml/default.txt b/test/markup/qml/default.txt
new file mode 100644
index 0000000000..79a888c1c6
--- /dev/null
+++ b/test/markup/qml/default.txt
@@ -0,0 +1,49 @@
+/****************************************************************************
+** QML with Highlight.js **/
+import QtQuick 2.5 // good version
+
+Window {
+ id: root
+ width: 1024; height: 600
+ color: "black"
+ property int highestZ: 0 // 0 is lowest, +infinity is highest
+ property real defaultSize = 200.1
+ signal activated(real xPosition, real yPosition)
+ // show the file picker
+ FileDialog {
+ id:fileDialog // an id in a comment should not be detected
+ title: "Choose a folder with some images"
+ onAccepted: folderModel.folder = fileUrl + "/" // if this is on property
+ }
+ Flickable {
+ id: flickableproperty
+ contentHeight: height * surfaceViewportRatio
+ property real zRestore: 0
+ Behavior on scale { NumberAnimation { duration: 200 } }
+ Repeater {
+ model: FolderListModel {
+ id: folderModel
+ nameFilters: ["*.png", "*.jpg", "*.gif"]
+ }
+ Component.onCompleted: {
+ var x;
+ x = Math.random() * root.width - width / 2
+ rotation = Math.random() * 13 - 6
+ if (pinch.scale > 0) {
+ photoFrame.rotation = 0;
+ photoFrame.scale = Math.min(root.width, root.height) / Math.max(image.sourceSize.width, image.sourceSize.height) * 0.85
+ } else {
+ photoFrame.rotation = pinch.previousAngle
+ photoFrame.scale = pinch.previousScale
+ }
+ }
+ function setFrameColor() {
+ if (currentFrame)
+ currentFrame.border.color = "black";
+ currentFrame = photoFrame;
+ }
+ }
+ }
+ Timer { id: fadeTimer; interval: 1000; onTriggered: { hfade.start(); vfade.start() } }
+ Component.onCompleted: fileDialog.open()
+}
diff --git a/test/markup/rib/default.expect.txt b/test/markup/rib/default.expect.txt
new file mode 100644
index 0000000000..462fa4fa59
--- /dev/null
+++ b/test/markup/rib/default.expect.txt
@@ -0,0 +1,25 @@
+FrameBegin 0
+Display "Scene" "framebuffer" "rgb"
+Option "searchpath" "shader" "+&:/home/kew"
+Option "trace" "int maxdepth" [4 ]
+Attribute "visibility" "trace" [1 ]
+Attribute "irradiance" "maxerror" [0.1 ]
+Attribute "visibility" "transmission" "opaque"
+Format 640 480 1.0
+ShadingRate 2
+PixelFilter "catmull-rom" 1 1
+PixelSamples 4 4
+Projection "perspective" "fov" 49.5502811377
+Scale 1 1 -1
+
+WorldBegin
+
+ReadArchive "Lamp.002_Light/instance.rib"
+Surface "plastic"
+ReadArchive "Cube.004_Mesh/instance.rib"
+
+
+ReadArchive "Sphere.006_Mesh/instance.rib"
+
+WorldEnd
+FrameEnd
diff --git a/test/markup/rib/default.txt b/test/markup/rib/default.txt
new file mode 100644
index 0000000000..ff23469d29
--- /dev/null
+++ b/test/markup/rib/default.txt
@@ -0,0 +1,25 @@
+FrameBegin 0
+Display "Scene" "framebuffer" "rgb"
+Option "searchpath" "shader" "+&:/home/kew"
+Option "trace" "int maxdepth" [4]
+Attribute "visibility" "trace" [1]
+Attribute "irradiance" "maxerror" [0.1]
+Attribute "visibility" "transmission" "opaque"
+Format 640 480 1.0
+ShadingRate 2
+PixelFilter "catmull-rom" 1 1
+PixelSamples 4 4
+Projection "perspective" "fov" 49.5502811377
+Scale 1 1 -1
+
+WorldBegin
+
+ReadArchive "Lamp.002_Light/instance.rib"
+Surface "plastic"
+ReadArchive "Cube.004_Mesh/instance.rib"
+# ReadArchive "Sphere.010_Mesh/instance.rib"
+# ReadArchive "Sphere.009_Mesh/instance.rib"
+ReadArchive "Sphere.006_Mesh/instance.rib"
+
+WorldEnd
+FrameEnd
diff --git a/test/markup/roboconf/default.expect.txt b/test/markup/roboconf/default.expect.txt
new file mode 100644
index 0000000000..1bb94fc5f1
--- /dev/null
+++ b/test/markup/roboconf/default.expect.txt
@@ -0,0 +1,54 @@
+
+import toto.graph;
+
+
+
+
+facet VM {
+ installer : iaas;
+}
+
+
+VM_ec2 {
+ facets : VM;
+ children : cluster-node, mysql;
+}
+
+VM_openstack {
+ facets : VM;
+ children : cluster-node, mysql;
+}
+
+cluster-node {
+ alias : a cluster node;
+ installer : puppet;
+ exports : ip, port, optional-property1, optional_property2;
+ imports : cluster-node.ip (optional) , cluster-node.port (optional) , mysql.ip , mysql.port ;
+}
+
+mysql {
+ alias : a MySQL database;
+ installer : puppet;
+ exports : ip, port;
+}
+
+
+
+
+instance of VM_ec2 {
+ name : VM_;
+ count : 3;
+ my-instance-property : whatever;
+
+ instance of cluster-node {
+ name : cluster node;
+ }
+}
+
+instance of VM_openstack {
+ name : VM_database;
+
+ instance of mysql {
+ name : mysql;
+ }
+}
diff --git a/test/markup/roboconf/default.txt b/test/markup/roboconf/default.txt
new file mode 100644
index 0000000000..23c7a848f9
--- /dev/null
+++ b/test/markup/roboconf/default.txt
@@ -0,0 +1,54 @@
+# This is a comment
+import toto.graph;
+
+##
+# Facet
+##
+facet VM {
+ installer: iaas;
+}
+
+# Components
+VM_ec2 {
+ facets: VM;
+ children: cluster-node, mysql;
+}
+
+VM_openstack {
+ facets: VM;
+ children: cluster-node, mysql;
+}
+
+cluster-node {
+ alias: a cluster node;
+ installer: puppet;
+ exports: ip, port, optional-property1, optional_property2;
+ imports: cluster-node.ip (optional), cluster-node.port (optional), mysql.ip, mysql.port;
+}
+
+mysql {
+ alias: a MySQL database;
+ installer: puppet;
+ exports: ip, port;
+}
+
+##
+# Normally, instances are defined in another file...
+##
+instance of VM_ec2 {
+ name: VM_;
+ count: 3;
+ my-instance-property: whatever;
+
+ instance of cluster-node {
+ name: cluster node; # An in-line comment
+ }
+}
+
+instance of VM_openstack {
+ name: VM_database;
+
+ instance of mysql {
+ name: mysql;
+ }
+}
diff --git a/test/markup/routeros/default.expect.txt b/test/markup/routeros/default.expect.txt
new file mode 100644
index 0000000000..6afea7cb40
--- /dev/null
+++ b/test/markup/routeros/default.expect.txt
@@ -0,0 +1,17 @@
+
+ # Проверяем их доступность,
+
+:global ActiveDNSServers []
+:local PingResult 0
+:foreach serv in =[/ip dns get servers] do ={
+ :do {:set PingResult [ping $serv count =3]} on-error ={:set PingResult 0}
+ :if ($PingResult =3) do ={ :set ActiveDNSServers ($ActiveDNSServers ,$serv ) }
+
+ :log info "Server: $serv , Ping-result: $PingResult " ;
+}
+
+/ip dhcp-server network set [find address =192.168.254.0/24] dns-server =$ActiveDNSServers
+
+
+/ip firewall mangle chain =postrouting action =change-ttl new-ttl =set:128 comment ="NAT hide"
+
diff --git a/test/markup/routeros/default.txt b/test/markup/routeros/default.txt
new file mode 100644
index 0000000000..0c364ae761
--- /dev/null
+++ b/test/markup/routeros/default.txt
@@ -0,0 +1,17 @@
+# Берем список DNS серверов из /ip dns
+ # Проверяем их доступность,
+# и только рабочие прописываем в настройки DHCP сервера
+:global ActiveDNSServers []
+:local PingResult 0
+:foreach serv in=[/ip dns get servers] do={
+ :do {:set PingResult [ping $serv count=3]} on-error={:set PingResult 0}
+ :if ($PingResult=3) do={ :set ActiveDNSServers ($ActiveDNSServers,$serv) }
+# отладочный вывод в журнал
+ :log info "Server: $serv, Ping-result: $PingResult";
+}
+
+/ip dhcp-server network set [find address=192.168.254.0/24] dns-server=$ActiveDNSServers
+
+#--- FIX TTL ----
+/ip firewall mangle chain=postrouting action=change-ttl new-ttl=set:128 comment="NAT hide"
+
diff --git a/test/markup/rsl/default.expect.txt b/test/markup/rsl/default.expect.txt
new file mode 100644
index 0000000000..c6eb9d4e8c
--- /dev/null
+++ b/test/markup/rsl/default.expect.txt
@@ -0,0 +1,15 @@
+#define TEST_DEFINE 3.14
+
+
+surface plastic (float Ka = 1 , Kd = 0.5 , Ks = 0.5 , roughness = 0.1 ;
+ color specularcolor = 1 ;) {
+ normal Nf = faceforward (normalize (N),I);
+ Ci = Cs * (Ka*ambient () + Kd*diffuse (Nf)) + specularcolor * Ks *
+ specular (Nf,-normalize (I),roughness);
+ Oi = Os;
+ Ci *= Oi;
+}
diff --git a/test/markup/rsl/default.txt b/test/markup/rsl/default.txt
new file mode 100644
index 0000000000..3cc4a0f4e4
--- /dev/null
+++ b/test/markup/rsl/default.txt
@@ -0,0 +1,15 @@
+#define TEST_DEFINE 3.14
+/* plastic surface shader
+ *
+ * Pixie is:
+ * (c) Copyright 1999-2003 Okan Arikan. All rights reserved.
+ */
+
+surface plastic (float Ka = 1, Kd = 0.5, Ks = 0.5, roughness = 0.1;
+ color specularcolor = 1;) {
+ normal Nf = faceforward (normalize(N),I);
+ Ci = Cs * (Ka*ambient() + Kd*diffuse(Nf)) + specularcolor * Ks *
+ specular(Nf,-normalize(I),roughness);
+ Oi = Os;
+ Ci *= Oi;
+}
diff --git a/test/markup/ruleslanguage/default.expect.txt b/test/markup/ruleslanguage/default.expect.txt
new file mode 100644
index 0000000000..984ea100c1
--- /dev/null
+++ b/test/markup/ruleslanguage/default.expect.txt
@@ -0,0 +1,36 @@
+
+ABORT "You experienced an abort." ;
+WARN "THIS IS A WARNING" ;
+CALL "RIDER_X" ;
+DONE ;
+FOR EACH X IN CSV_FILE "d:\lodestar\user\d377.lse"
+ LEAVE FOR ;
+END FOR ;
+IF ((BILL_KW = 0 ) AND (KW > 0 )) THEN
+END IF ;
+INCLUDE "R1" ;
+LEAVE RIDER ;
+SELECT BILL_PERIOD
+ WHEN "WINTER"
+ BLOCK KWH
+ FROM 0 TO 400 CHARGE $0.03709
+ FROM 400 CHARGE $0.03000
+ TOTAL $ENERGY_CHARGE_WIN;
+ WHEN "SUMMER"
+ $VOLTAGE_DISCOUNT_SUM = $0.00
+ OTHERWISE
+ $VOLTAGE_DISCOUNT_SUM = $1.00
+END SELECT ;
+
+LABEL PK.NM "Peak Number" ;
+SAVE_UPDATE MV TO TABLE "METERVALUE" ;
+
+FOR EACH INX IN ARRAYUPPERBOUND (#MYARRAY [])
+ #MYARRAY [INX].VALUE = 2 ;
+ CLEAR #MYARRAY [];
+END FOR
+
+
+HNDL_1_ADD_EDI = INTDADDATTRIBUTE (HNDL_1, "EDI_TRANSACTION" , EDI_ID);
+HNDL_1_ADD_VAL_MSG = INTDADDVMSG (HNDL_1,"Missing (Status Code 9) values found" );
+EMPTY_HNDL = INTDCREATEHANDLE ('05/03/2006 00:00:00' , '05/03/2006 23:59:59' , 3600 , "Y" , "0" , " " );
diff --git a/test/markup/ruleslanguage/default.txt b/test/markup/ruleslanguage/default.txt
new file mode 100644
index 0000000000..566d03e1b7
--- /dev/null
+++ b/test/markup/ruleslanguage/default.txt
@@ -0,0 +1,36 @@
+//This is a comment
+ABORT "You experienced an abort.";
+WARN "THIS IS A WARNING";
+CALL "RIDER_X";
+DONE;
+FOR EACH X IN CSV_FILE "d:\lodestar\user\d377.lse"
+ LEAVE FOR;
+END FOR;
+IF ((BILL_KW = 0) AND (KW > 0)) THEN
+END IF;
+INCLUDE "R1";
+LEAVE RIDER;
+SELECT BILL_PERIOD
+ WHEN "WINTER"
+ BLOCK KWH
+ FROM 0 TO 400 CHARGE $0.03709
+ FROM 400 CHARGE $0.03000
+ TOTAL $ENERGY_CHARGE_WIN;
+ WHEN "SUMMER"
+ $VOLTAGE_DISCOUNT_SUM = $0.00
+ OTHERWISE
+ $VOLTAGE_DISCOUNT_SUM = $1.00
+END SELECT;
+/* Report top five peaks */
+LABEL PK.NM "Peak Number";
+SAVE_UPDATE MV TO TABLE "METERVALUE";
+
+FOR EACH INX IN ARRAYUPPERBOUND(#MYARRAY[])
+ #MYARRAY[INX].VALUE = 2;
+ CLEAR #MYARRAY[];
+END FOR
+
+//Interval Data
+HNDL_1_ADD_EDI = INTDADDATTRIBUTE(HNDL_1, "EDI_TRANSACTION", EDI_ID);
+HNDL_1_ADD_VAL_MSG = INTDADDVMSG(HNDL_1,"Missing (Status Code 9) values found");
+EMPTY_HNDL = INTDCREATEHANDLE('05/03/2006 00:00:00', '05/03/2006 23:59:59', 3600, "Y", "0", " ");
diff --git a/test/markup/sas/default.expect.txt b/test/markup/sas/default.expect.txt
new file mode 100644
index 0000000000..d13a233eed
--- /dev/null
+++ b/test/markup/sas/default.expect.txt
@@ -0,0 +1,48 @@
+
+
+%put Started at %sysfunc (putn( %sysfunc (datetime( )), datetime.));
+options
+ errors = 20
+ fullstimer
+;
+
+%let maindir = /path/to/maindir;
+%let outdir = &maindir /out .;
+
+systask command "mkdir -p &outdir." wait;
+libname main "&maindir" access = readonly;
+
+data testing;
+ input name $ number delimiter = "," ;
+ datalines;
+ John,1
+ Mary,2
+ Jane,3
+ ;
+ if number > 1 then final = 0;
+ else do ;
+ final = 1;
+ end ;
+run;
+
+%macro testMacro(positional, named = value);
+ %put positional = &positional. ;
+ %put named = &named. ;
+%mend testMacro;
+%testMacro (positional, named = value);
+
+dm 'clear log output odsresults' ;
+
+proc datasets lib = work kill noprint; quit;
+libname _all_ clear;
+
+data _null_ ;
+ set sashelp.macro(
+ keep = name
+ where = (scope = "global" );
+ );
+ call symdel(name);
+run;
diff --git a/test/markup/sas/default.txt b/test/markup/sas/default.txt
new file mode 100644
index 0000000000..fa11f18a61
--- /dev/null
+++ b/test/markup/sas/default.txt
@@ -0,0 +1,48 @@
+/**********************************************************************
+ * Program: example.sas
+ * Purpose: SAS Example for HighlightJS Plug-in
+ **********************************************************************/
+
+%put Started at %sysfunc(putn(%sysfunc(datetime()), datetime.));
+options
+ errors = 20 /* Maximum number of prints of repeat errors */
+ fullstimer /* Detailed timer after each step execution */
+;
+
+%let maindir = /path/to/maindir;
+%let outdir = &maindir/out.;
+
+systask command "mkdir -p &outdir." wait;
+libname main "&maindir" access = readonly;
+
+data testing;
+ input name $ number delimiter = ",";
+ datalines;
+ John,1
+ Mary,2
+ Jane,3
+ ;
+ if number > 1 then final = 0;
+ else do;
+ final = 1;
+ end;
+run;
+
+%macro testMacro(positional, named = value);
+ %put positional = &positional.;
+ %put named = &named.;
+%mend testMacro;
+%testMacro(positional, named = value);
+
+dm 'clear log output odsresults';
+
+proc datasets lib = work kill noprint; quit;
+libname _all_ clear;
+
+data _null_;
+ set sashelp.macro(
+ keep = name
+ where = (scope = "global");
+ );
+ call symdel(name);
+run;
diff --git a/test/markup/scilab/default.expect.txt b/test/markup/scilab/default.expect.txt
new file mode 100644
index 0000000000..bc030e118f
--- /dev/null
+++ b/test/markup/scilab/default.expect.txt
@@ -0,0 +1,14 @@
+
+function I = foo (dims, varargin)
+ d=[1 ; matrix(dims(1 :$-1 ),-1 ,1 )]
+ for i=1 :size (varargin)
+ if varargin(i)==[] then
+ I=[],
+ return ;
+ end
+ end
+endfunction
+
+b = cos (a) + cosh (a);
+bar_matrix = [ "Hello" , "world" ];
+foo_matrix = [1 , 2 , 3 ; 4 , 5 , 6 ];
diff --git a/test/markup/scilab/default.txt b/test/markup/scilab/default.txt
new file mode 100644
index 0000000000..3f466c884b
--- /dev/null
+++ b/test/markup/scilab/default.txt
@@ -0,0 +1,14 @@
+// A comment
+function I = foo(dims, varargin)
+ d=[1; matrix(dims(1:$-1),-1,1)]
+ for i=1:size(varargin)
+ if varargin(i)==[] then
+ I=[],
+ return;
+ end
+ end
+endfunction
+
+b = cos(a) + cosh(a);
+bar_matrix = [ "Hello", "world" ];
+foo_matrix = [1, 2, 3; 4, 5, 6];
diff --git a/test/markup/scss/default.expect.txt b/test/markup/scss/default.expect.txt
new file mode 100644
index 0000000000..d5e235d6e8
--- /dev/null
+++ b/test/markup/scss/default.expect.txt
@@ -0,0 +1,73 @@
+@import "compass/reset" ;
+
+
+$colorGreen : #008000 ;
+$colorGreenDark : darken($colorGreen , 10 );
+
+@mixin container {
+ max-width : 980px ;
+}
+
+
+@mixin button($color :green) {
+ @if ($color == green) {
+ background-color : #008000 ;
+ }
+ @else if ($color == red) {
+ background-color : #B22222 ;
+ }
+}
+
+button {
+ @include button(red);
+}
+
+div ,
+.navbar ,
+#header ,
+input [type="input"] {
+ font-family : "Helvetica Neue" , Arial, sans-serif;
+ width : auto;
+ margin : 0 auto;
+ display : block;
+}
+
+.row-12 > [class*="spans"] {
+ border-left : 1px solid #B5C583 ;
+}
+
+
+ul {
+ width : 100% ;
+ padding : {
+ left: 5px ; right : 5px ;
+ }
+ li {
+ float : left; margin-right : 10px ;
+ .home {
+ background : url('http://placehold.it/20' ) scroll no-repeat 0 0 ;
+ }
+ }
+}
+
+.banner {
+ @extend .container;
+}
+
+a {
+ color : $colorGreen ;
+ &:hover { color : $colorGreenDark ; }
+ &:visited { color : #c458cb ; }
+}
+
+@for $i from 1 through 5 {
+ .span #{$i } {
+ width : 20px *$i ;
+ }
+}
+
+@mixin mobile {
+ @media screen and (max-width : 600px ) {
+ @content ;
+ }
+}
\ No newline at end of file
diff --git a/test/markup/scss/default.txt b/test/markup/scss/default.txt
new file mode 100644
index 0000000000..3e6b880f1b
--- /dev/null
+++ b/test/markup/scss/default.txt
@@ -0,0 +1,73 @@
+@import "compass/reset";
+
+// variables
+$colorGreen: #008000;
+$colorGreenDark: darken($colorGreen, 10);
+
+@mixin container {
+ max-width: 980px;
+}
+
+// mixins with parameters
+@mixin button($color:green) {
+ @if ($color == green) {
+ background-color: #008000;
+ }
+ @else if ($color == red) {
+ background-color: #B22222;
+ }
+}
+
+button {
+ @include button(red);
+}
+
+div,
+.navbar,
+#header,
+input[type="input"] {
+ font-family: "Helvetica Neue", Arial, sans-serif;
+ width: auto;
+ margin: 0 auto;
+ display: block;
+}
+
+.row-12 > [class*="spans"] {
+ border-left: 1px solid #B5C583;
+}
+
+// nested definitions
+ul {
+ width: 100%;
+ padding: {
+ left: 5px; right: 5px;
+ }
+ li {
+ float: left; margin-right: 10px;
+ .home {
+ background: url('http://placehold.it/20') scroll no-repeat 0 0;
+ }
+ }
+}
+
+.banner {
+ @extend .container;
+}
+
+a {
+ color: $colorGreen;
+ &:hover { color: $colorGreenDark; }
+ &:visited { color: #c458cb; }
+}
+
+@for $i from 1 through 5 {
+ .span#{$i} {
+ width: 20px*$i;
+ }
+}
+
+@mixin mobile {
+ @media screen and (max-width : 600px) {
+ @content;
+ }
+}
\ No newline at end of file
diff --git a/test/markup/smali/default.expect.txt b/test/markup/smali/default.expect.txt
new file mode 100644
index 0000000000..efd7f5f80c
--- /dev/null
+++ b/test/markup/smali/default.expect.txt
@@ -0,0 +1,75 @@
+.class public Lcom/test/Preferences;
+.super Landroid/preference/PreferenceActivity;
+.source "Preferences.java"
+
+
+
+.field private PACKAGE_NAME:Ljava/lang/String;
+
+
+
+.method public constructor <init>()V
+ .registers 1
+ .annotation build Landroid/annotation/SuppressLint;
+ value = {
+ "InlinedApi"
+ }
+ .end annotation
+
+ .prologue
+ .line 25
+ invoke-direct {p0}, Landroid/preference/PreferenceActivity; -><init>()V
+
+ const-string v4, "ASDF!"
+
+ .line 156
+ .end local v0
+ .end local v1
+ .end local v2
+ :cond_56
+
+ .line 135
+ invoke-static {p1}, Lcom/google/ads/AdActivity; ->b(Lcom/google/ads/internal/d; )Lcom/google/ads/internal/d;
+
+ .line 140
+ :cond_e
+ monitor-exit v1
+ :try_end_f
+ .catchall {:try_start_5 .. :try_end_f } :catchall_30
+
+ .line 143
+ invoke-virtual {p1}, Lcom/google/ads/internal/d; ->g()Lcom/google/ads/m;
+
+ move-result-object v0
+
+ iget-object v0, v0, Lcom/google/ads/m; ->c:Lcom/google/ads/util/i$d;
+
+ invoke-virtual {v0}, Lcom/google/ads/util/i$d; ->a()Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Landroid/app/Activity;
+
+ .line 144
+ if-nez v0, :cond_33
+
+ .line 145
+ const-string v0, "activity was null while launching an AdActivity."
+
+ invoke-static {v0}, Lcom/google/ads/util/b; ->e(Ljava/lang/String; )V
+
+ .line 160
+ :goto_22
+ return-void
+
+ .line 136
+ :cond_23
+ :try_start_23
+ invoke-static {}, Lcom/google/ads/AdActivity; ->c()Lcom/google/ads/internal/d;
+
+ move-result-object v0
+
+ if-eq v0, p1, :cond_e
+
+ return-void
+ .end method
diff --git a/test/markup/smali/default.txt b/test/markup/smali/default.txt
new file mode 100644
index 0000000000..f706526d53
--- /dev/null
+++ b/test/markup/smali/default.txt
@@ -0,0 +1,75 @@
+.class public Lcom/test/Preferences;
+.super Landroid/preference/PreferenceActivity;
+.source "Preferences.java"
+
+
+# instance fields
+.field private PACKAGE_NAME:Ljava/lang/String;
+
+
+# direct methods
+.method public constructor ()V
+ .registers 1
+ .annotation build Landroid/annotation/SuppressLint;
+ value = {
+ "InlinedApi"
+ }
+ .end annotation
+
+ .prologue
+ .line 25
+ invoke-direct {p0}, Landroid/preference/PreferenceActivity;->()V
+
+ const-string v4, "ASDF!"
+
+ .line 156
+ .end local v0 #customOther:Landroid/preference/Preference;
+ .end local v1 #customRate:Landroid/preference/Preference;
+ .end local v2 #hideApp:Landroid/preference/Preference;
+ :cond_56
+
+ .line 135
+ invoke-static {p1}, Lcom/google/ads/AdActivity;->b(Lcom/google/ads/internal/d;)Lcom/google/ads/internal/d;
+
+ .line 140
+ :cond_e
+ monitor-exit v1
+ :try_end_f
+ .catchall {:try_start_5 .. :try_end_f} :catchall_30
+
+ .line 143
+ invoke-virtual {p1}, Lcom/google/ads/internal/d;->g()Lcom/google/ads/m;
+
+ move-result-object v0
+
+ iget-object v0, v0, Lcom/google/ads/m;->c:Lcom/google/ads/util/i$d;
+
+ invoke-virtual {v0}, Lcom/google/ads/util/i$d;->a()Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Landroid/app/Activity;
+
+ .line 144
+ if-nez v0, :cond_33
+
+ .line 145
+ const-string v0, "activity was null while launching an AdActivity."
+
+ invoke-static {v0}, Lcom/google/ads/util/b;->e(Ljava/lang/String;)V
+
+ .line 160
+ :goto_22
+ return-void
+
+ .line 136
+ :cond_23
+ :try_start_23
+ invoke-static {}, Lcom/google/ads/AdActivity;->c()Lcom/google/ads/internal/d;
+
+ move-result-object v0
+
+ if-eq v0, p1, :cond_e
+
+ return-void
+.end method
diff --git a/test/markup/smalltalk/default.expect.txt b/test/markup/smalltalk/default.expect.txt
new file mode 100644
index 0000000000..87e66f6f35
--- /dev/null
+++ b/test/markup/smalltalk/default.expect.txt
@@ -0,0 +1,39 @@
+Object >>method: num
+
+ | var1 var2 |
+ (1 to: num) do: [:i | |var| ^i].
+ Klass with: var1.
+ Klass new.
+ arr := #('123' 123.345 #hello Transcript var $@ ).
+ arr := #().
+ var2 = arr at: 3.
+ ^ self abc
+
+heapExample
+
+
+ | n rnd array time sorted |
+ n := 5000.
+
+ rnd := Random new.
+ array := (1 to: n)
+ collect: [:i | rnd next].
+
+ time := Time
+ millisecondsToRun: [sorted := Heap withAll: array.
+ 1
+ to: n
+ do: [:i |
+ sorted removeFirst.
+ sorted add: rnd next]].
+ Transcript cr; show: 'Time for Heap: ' , time printString , ' msecs' .
+
+ time := Time
+ millisecondsToRun: [sorted := SortedCollection withAll: array.
+ 1
+ to: n
+ do: [:i |
+ sorted removeFirst.
+ sorted add: rnd next]].
+ Transcript cr; show: 'Time for SortedCollection: ' , time printString , ' msecs'
diff --git a/test/markup/smalltalk/default.txt b/test/markup/smalltalk/default.txt
new file mode 100644
index 0000000000..7c960a72f8
--- /dev/null
+++ b/test/markup/smalltalk/default.txt
@@ -0,0 +1,39 @@
+Object>>method: num
+ "comment 123"
+ | var1 var2 |
+ (1 to: num) do: [:i | |var| ^i].
+ Klass with: var1.
+ Klass new.
+ arr := #('123' 123.345 #hello Transcript var $@).
+ arr := #().
+ var2 = arr at: 3.
+ ^ self abc
+
+heapExample
+ "HeapTest new heapExample"
+ "Multiline
+ decription"
+ | n rnd array time sorted |
+ n := 5000.
+ "# of elements to sort"
+ rnd := Random new.
+ array := (1 to: n)
+ collect: [:i | rnd next].
+ "First, the heap version"
+ time := Time
+ millisecondsToRun: [sorted := Heap withAll: array.
+ 1
+ to: n
+ do: [:i |
+ sorted removeFirst.
+ sorted add: rnd next]].
+ Transcript cr; show: 'Time for Heap: ' , time printString , ' msecs'.
+ "The quicksort version"
+ time := Time
+ millisecondsToRun: [sorted := SortedCollection withAll: array.
+ 1
+ to: n
+ do: [:i |
+ sorted removeFirst.
+ sorted add: rnd next]].
+ Transcript cr; show: 'Time for SortedCollection: ' , time printString , ' msecs'
diff --git a/test/markup/sml/default.expect.txt b/test/markup/sml/default.expect.txt
new file mode 100644
index 0000000000..79fdfd06ef
--- /dev/null
+++ b/test/markup/sml/default.expect.txt
@@ -0,0 +1,26 @@
+structure List : LIST =
+ struct
+
+ val op + = InlineT .DfltInt .+
+
+ datatype list = datatype list
+
+ exception Empty = Empty
+
+ fun last [] = raise Empty
+ | last [x] = x
+ | last (_::r) = last r
+
+ fun loop ([] , [] ) = EQUAL
+ | loop ([] , _) = LESS
+ | loop (_, [] ) = GREATER
+ | loop (x :: xs, y :: ys) =
+ (case compare (x, y) of
+ EQUAL => loop (xs, ys)
+ | unequal => unequal)
+ in
+ loop
+ end
+
+ end
+
diff --git a/test/markup/sml/default.txt b/test/markup/sml/default.txt
new file mode 100644
index 0000000000..954c561bc1
--- /dev/null
+++ b/test/markup/sml/default.txt
@@ -0,0 +1,26 @@
+structure List : LIST =
+ struct
+
+ val op + = InlineT.DfltInt.+
+
+ datatype list = datatype list
+
+ exception Empty = Empty
+
+ fun last [] = raise Empty
+ | last [x] = x
+ | last (_::r) = last r
+
+ fun loop ([], []) = EQUAL
+ | loop ([], _) = LESS
+ | loop (_, []) = GREATER
+ | loop (x :: xs, y :: ys) =
+ (case compare (x, y) of
+ EQUAL => loop (xs, ys)
+ | unequal => unequal)
+ in
+ loop
+ end
+
+ end (* structure List *)
+
diff --git a/test/markup/sqf/default.expect.txt b/test/markup/sqf/default.expect.txt
new file mode 100644
index 0000000000..8b9f2c518c
--- /dev/null
+++ b/test/markup/sqf/default.expect.txt
@@ -0,0 +1,16 @@
+
+
+
+_unit addAction ["Eat Energy Bar" , {
+ if (_this getVariable ["EB_NumActivation" , 0 ] > 0 ) then {
+ _this setDamage (0 max (damage _this - 0.25 ));
+ } else {
+ hint "You have eaten it all" ;
+ };
+
+ Z_obj_vip = nil ;
+ [_boat , ["Black" , 1 ], true ] call BIS_fnc_initVehicle ;
+}];
diff --git a/test/markup/sqf/default.txt b/test/markup/sqf/default.txt
new file mode 100644
index 0000000000..8a4905061b
--- /dev/null
+++ b/test/markup/sqf/default.txt
@@ -0,0 +1,16 @@
+/***
+ Arma Scripting File
+ Edition: 1.66
+***/
+
+// Enable eating to improve health.
+_unit addAction ["Eat Energy Bar", {
+ if (_this getVariable ["EB_NumActivation", 0] > 0) then {
+ _this setDamage (0 max (damage _this - 0.25));
+ } else {
+ hint "You have eaten it all";
+ };
+ // 4 - means something...
+ Z_obj_vip = nil;
+ [_boat, ["Black", 1], true] call BIS_fnc_initVehicle;
+}];
diff --git a/test/markup/stan/default.expect.txt b/test/markup/stan/default.expect.txt
new file mode 100644
index 0000000000..6a32c43433
--- /dev/null
+++ b/test/markup/stan/default.expect.txt
@@ -0,0 +1,39 @@
+
+
+
+data {
+ int <lower =0 > N;
+ int <lower =1 > K;
+ int <lower =1 > J;
+ int <lower =1 > L;
+ int <lower =1 ,upper =J> jj[N];
+ matrix [N,K] x;
+ row_vector [L] u[J];
+ vector [N] y;
+}
+parameters {
+ corr_matrix [K] Omega;
+ vector <lower =0 >[K] tau;
+ matrix [L,K] gamma;
+ vector [K] beta[J];
+ real <lower =0 > sigma;
+}
+model {
+ tau ~ cauchy (0 ,2.5 );
+ Omega ~ lkj_corr (2 );
+ to_vector (gamma) ~ normal (0 , 5 );
+ {
+ row_vector [K] u_gamma[J];
+ for (j in 1 :J)
+ u_gamma[j] <- u[j] * gamma;
+ beta ~ multi_normal (u_gamma, quad_form_diag (Omega, tau));
+ }
+ {
+ vector [N] x_beta_jj;
+ for (n in 1 :N)
+ x_beta_jj[n] <- x[n] * beta[jj[n]];
+ y ~ normal (x_beta_jj, sigma);
+ }
+}
+
+
diff --git a/test/markup/stan/default.txt b/test/markup/stan/default.txt
new file mode 100644
index 0000000000..99e56c45ec
--- /dev/null
+++ b/test/markup/stan/default.txt
@@ -0,0 +1,39 @@
+// Multivariate Regression Example
+// Taken from stan-reference-2.8.0.pdf p.66
+
+data {
+ int N; // num individuals
+ int K; // num ind predictors
+ int J; // num groups
+ int L; // num group predictors
+ int jj[N]; // group for individual
+ matrix[N,K] x; // individual predictors
+ row_vector[L] u[J]; // group predictors
+ vector[N] y; // outcomes
+}
+parameters {
+ corr_matrix[K] Omega; // prior correlation
+ vector[K] tau; // prior scale
+ matrix[L,K] gamma; // group coeffs
+ vector[K] beta[J]; // indiv coeffs by group
+ real sigma; // prediction error scale
+}
+model {
+ tau ~ cauchy(0,2.5);
+ Omega ~ lkj_corr(2);
+ to_vector(gamma) ~ normal(0, 5);
+ {
+ row_vector[K] u_gamma[J];
+ for (j in 1:J)
+ u_gamma[j] <- u[j] * gamma;
+ beta ~ multi_normal(u_gamma, quad_form_diag(Omega, tau));
+ }
+ {
+ vector[N] x_beta_jj;
+ for (n in 1:N)
+ x_beta_jj[n] <- x[n] * beta[jj[n]];
+ y ~ normal(x_beta_jj, sigma);
+ }
+}
+
+# Note: Octothorpes indicate comments, too!
diff --git a/test/markup/step21/default.expect.txt b/test/markup/step21/default.expect.txt
new file mode 100644
index 0000000000..8d7bc5bcb2
--- /dev/null
+++ b/test/markup/step21/default.expect.txt
@@ -0,0 +1,33 @@
+ISO-10303-21;
+HEADER ;
+FILE_DESCRIPTION(('' ),'2;1' );
+FILE_NAME('CUBE_4SQUARE' ,'2013-11-29T' ,('acook' ),('' ),
+'SOMETHINGCAD BY SOME CORPORATION, 2012130' ,
+'SOMETHINGCAD BY SOME CORPORATION, 2012130' ,'' );
+FILE_SCHEMA(('CONFIG_CONTROL_DESIGN' ));
+ENDSEC ;
+
+DATA ;
+#1 =DIRECTION('' ,(1.E0 ,0.E0 ,0.E0 ));
+#2 =VECTOR('' ,#1 ,4.E0 );
+#3 =CARTESIAN_POINT('' ,(-2.E0 ,-2.E0 ,-2.E0 ));
+#4 =LINE('' ,#3 ,#2 );
+#5 =DIRECTION('' ,(0.E0 ,1.E0 ,0.E0 ));
+#6 =VECTOR('' ,#5 ,4.E0 );
+#7 =CARTESIAN_POINT('' ,(2.E0 ,-2.E0 ,-2.E0 ));
+#8 =LINE('' ,#7 ,#6 );
+#9 =DIRECTION('' ,(-1.E0 ,0.E0 ,0.E0 ));
+#10 =VECTOR('' ,#9 ,4.E0 );
+#11 =CARTESIAN_POINT('' ,(2.E0 ,2.E0 ,-2.E0 ));
+#12 =LINE('' ,#11 ,#10 );
+#13 =DIRECTION('' ,(0.E0 ,-1.E0 ,0.E0 ));
+#14 =VECTOR('' ,#13 ,4.E0 );
+#15 =CARTESIAN_POINT('' ,(-2.E0 ,2.E0 ,-2.E0 ));
+#16 =LINE('' ,#15 ,#14 );
+#17 =DIRECTION('' ,(0.E0 ,0.E0 ,1.E0 ));
+#18 =VECTOR('' ,#17 ,4.E0 );
+#19 =CARTESIAN_POINT('' ,(-2.E0 ,-2.E0 ,-2.E0 ));
+#20 =LINE('' ,#19 ,#18 );
+#21 =DIRECTION('' ,(0.E0 ,0.E0 ,1.E0 ));
+ENDSEC ;
+END-ISO-10303-21;
diff --git a/test/markup/step21/default.txt b/test/markup/step21/default.txt
new file mode 100644
index 0000000000..f066fc8651
--- /dev/null
+++ b/test/markup/step21/default.txt
@@ -0,0 +1,33 @@
+ISO-10303-21;
+HEADER;
+FILE_DESCRIPTION((''),'2;1');
+FILE_NAME('CUBE_4SQUARE','2013-11-29T',('acook'),(''),
+'SOMETHINGCAD BY SOME CORPORATION, 2012130',
+'SOMETHINGCAD BY SOME CORPORATION, 2012130','');
+FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
+ENDSEC;
+/* file written by SomethingCAD */
+DATA;
+#1=DIRECTION('',(1.E0,0.E0,0.E0));
+#2=VECTOR('',#1,4.E0);
+#3=CARTESIAN_POINT('',(-2.E0,-2.E0,-2.E0));
+#4=LINE('',#3,#2);
+#5=DIRECTION('',(0.E0,1.E0,0.E0));
+#6=VECTOR('',#5,4.E0);
+#7=CARTESIAN_POINT('',(2.E0,-2.E0,-2.E0));
+#8=LINE('',#7,#6);
+#9=DIRECTION('',(-1.E0,0.E0,0.E0));
+#10=VECTOR('',#9,4.E0);
+#11=CARTESIAN_POINT('',(2.E0,2.E0,-2.E0));
+#12=LINE('',#11,#10);
+#13=DIRECTION('',(0.E0,-1.E0,0.E0));
+#14=VECTOR('',#13,4.E0);
+#15=CARTESIAN_POINT('',(-2.E0,2.E0,-2.E0));
+#16=LINE('',#15,#14);
+#17=DIRECTION('',(0.E0,0.E0,1.E0));
+#18=VECTOR('',#17,4.E0);
+#19=CARTESIAN_POINT('',(-2.E0,-2.E0,-2.E0));
+#20=LINE('',#19,#18);
+#21=DIRECTION('',(0.E0,0.E0,1.E0));
+ENDSEC;
+END-ISO-10303-21;
diff --git a/test/markup/stylus/default.expect.txt b/test/markup/stylus/default.expect.txt
new file mode 100644
index 0000000000..1d4ec2a710
--- /dev/null
+++ b/test/markup/stylus/default.expect.txt
@@ -0,0 +1,28 @@
+@import "nib"
+
+
+$green = #008000
+$green_dark = darken($green , 10 )
+
+
+container ()
+ max-width 980px
+
+
+buttonBG ($color = green)
+ if $color == green
+ background-color #008000
+ else if $color == red
+ background-color #B22222
+
+button
+ buttonBG(red)
+
+.blue-button
+ buttonBG(blue)
+
+#content , .content
+ font Tahoma, Chunkfive, sans-serif
+ background url('hatch.png' )
+ color #F0F0F0 !important
+ width 100%
diff --git a/test/markup/stylus/default.txt b/test/markup/stylus/default.txt
new file mode 100644
index 0000000000..896578549b
--- /dev/null
+++ b/test/markup/stylus/default.txt
@@ -0,0 +1,28 @@
+@import "nib"
+
+// variables
+$green = #008000
+$green_dark = darken($green, 10)
+
+// mixin/function
+container()
+ max-width 980px
+
+// mixin/function with parameters
+buttonBG($color = green)
+ if $color == green
+ background-color #008000
+ else if $color == red
+ background-color #B22222
+
+button
+ buttonBG(red)
+
+.blue-button
+ buttonBG(blue)
+
+#content, .content
+ font Tahoma, Chunkfive, sans-serif
+ background url('hatch.png')
+ color #F0F0F0 !important
+ width 100%
diff --git a/test/markup/taggerscript/default.expect.txt b/test/markup/taggerscript/default.expect.txt
new file mode 100644
index 0000000000..cfeaf38fbc
--- /dev/null
+++ b/test/markup/taggerscript/default.expect.txt
@@ -0,0 +1,12 @@
+$if ($is_video (),video,$if ($is_lossless (),lossless,lossy))/
+$if ($is_video (),
+
+$if ($ne (%album% ,[non-album tracks]),
+$if2 (%albumartist% ,%artist% ) - %album% $if (%discsubtitle% , - %discsubtitle% )/%_discandtracknumber% %title% ,
+Music Videos/%artist% /%artist% - %title% ),
+$if ($eq (%compilation% ,1),
+
+$firstalphachar ($if2 (%albumartistsort% ,%artistsort% ))/$if2 (%albumartist% ,%artist% )/%album% $if (%_releasecomment% , \( %_releasecomment% \) ,)/%_discandtracknumber% %artist% - %title% ,
+
+$firstalphachar ($if2 (%albumartistsort% ,%artistsort% ))/$if2 (%albumartist% ,%artist% )/%album% $if (%_releasecomment% , \( %_releasecomment% \) ,)/%_discandtracknumber% %title%
+))
diff --git a/test/markup/taggerscript/default.txt b/test/markup/taggerscript/default.txt
new file mode 100644
index 0000000000..ce91f79e9e
--- /dev/null
+++ b/test/markup/taggerscript/default.txt
@@ -0,0 +1,12 @@
+$if($is_video(),video,$if($is_lossless(),lossless,lossy))/
+$if($is_video(),
+$noop(Video track)
+$if($ne(%album%,[non-album tracks]),
+$if2(%albumartist%,%artist%) - %album%$if(%discsubtitle%, - %discsubtitle%)/%_discandtracknumber%%title%,
+Music Videos/%artist%/%artist% - %title%),
+$if($eq(%compilation%,1),
+$noop(Various Artist albums)
+$firstalphachar($if2(%albumartistsort%,%artistsort%))/$if2(%albumartist%,%artist%)/%album%$if(%_releasecomment%, \(%_releasecomment%\),)/%_discandtracknumber%%artist% - %title%,
+$noop(Single Artist Albums)
+$firstalphachar($if2(%albumartistsort%,%artistsort%))/$if2(%albumartist%,%artist%)/%album%$if(%_releasecomment%, \(%_releasecomment%\),)/%_discandtracknumber%%title%
+))
diff --git a/test/markup/tcl/default.expect.txt b/test/markup/tcl/default.expect.txt
new file mode 100644
index 0000000000..2d12c9ee86
--- /dev/null
+++ b/test/markup/tcl/default.expect.txt
@@ -0,0 +1,26 @@
+package json
+
+source helper.tcl
+
+set ::rand 4
+
+proc give::recursive::count {base p} {
+ while {$p > 0 } {
+ set result [expr $result * $base]; incr p -1
+ }
+ return $result
+}
+
+set a {a}; set b "bcdef" ; set lst [list "item" ]
+puts [llength $a$b]
+
+set ::my::tid($id) $::my::tid(def)
+lappend lst $arr($idx) $::my::arr($idx) $ar(key)
+lreplace ::my::tid($id) 4 4
+puts $::rand ${::rand} ${::AWESOME::component::variable}
+
+puts "$x + $y is\t [expr $x + $y]"
+
+proc isprime x {
+ expr {$x>1 && ![regexp {^(oo+?)\1 +$} [string repeat o $x]]}
+}
diff --git a/test/markup/tcl/default.txt b/test/markup/tcl/default.txt
new file mode 100644
index 0000000000..f84ee04251
--- /dev/null
+++ b/test/markup/tcl/default.txt
@@ -0,0 +1,26 @@
+package json
+
+source helper.tcl
+# randomness verified by a die throw
+set ::rand 4
+
+proc give::recursive::count {base p} { ; # 2 mandatory params
+ while {$p > 0} {
+ set result [expr $result * $base]; incr p -1
+ }
+ return $result
+}
+
+set a {a}; set b "bcdef"; set lst [list "item"]
+puts [llength $a$b]
+
+set ::my::tid($id) $::my::tid(def)
+lappend lst $arr($idx) $::my::arr($idx) $ar(key)
+lreplace ::my::tid($id) 4 4
+puts $::rand ${::rand} ${::AWESOME::component::variable}
+
+puts "$x + $y is\t [expr $x + $y]"
+
+proc isprime x {
+ expr {$x>1 && ![regexp {^(oo+?)\1+$} [string repeat o $x]]}
+}
diff --git a/test/markup/thrift/default.expect.txt b/test/markup/thrift/default.expect.txt
new file mode 100644
index 0000000000..a23a20e2fd
--- /dev/null
+++ b/test/markup/thrift/default.expect.txt
@@ -0,0 +1,40 @@
+namespace * thrift.test
+
+
+enum Numberz
+ {
+ ONE = 1 ,
+ TWO,
+ THREE,
+ FIVE = 5 ,
+ SIX,
+ EIGHT = 8
+}
+
+const Numberz myNumberz = Numberz.ONE;
+
+
+
+typedef i64 UserId
+
+struct Msg
+ {
+ 1 : string message,
+ 2 : i32 type
+}
+struct NestedListsI32x2
+ {
+ 1 : list<list<i32 >> integerlist
+}
+struct NestedListsI32x3
+ {
+ 1 : list<list<list<i32 >>> integerlist
+}
+service ThriftTest
+ {
+ void testVoid(),
+ string testString(1 : string thing),
+ oneway void testInit()
+}
\ No newline at end of file
diff --git a/test/markup/thrift/default.txt b/test/markup/thrift/default.txt
new file mode 100644
index 0000000000..fe2c6cd51d
--- /dev/null
+++ b/test/markup/thrift/default.txt
@@ -0,0 +1,40 @@
+namespace * thrift.test
+
+/**
+ * Docstring!
+ */
+enum Numberz
+{
+ ONE = 1,
+ TWO,
+ THREE,
+ FIVE = 5,
+ SIX,
+ EIGHT = 8
+}
+
+const Numberz myNumberz = Numberz.ONE;
+// the following is expected to fail:
+// const Numberz urNumberz = ONE;
+
+typedef i64 UserId
+
+struct Msg
+{
+ 1: string message,
+ 2: i32 type
+}
+struct NestedListsI32x2
+{
+ 1: list> integerlist
+}
+struct NestedListsI32x3
+{
+ 1: list>> integerlist
+}
+service ThriftTest
+{
+ void testVoid(),
+ string testString(1: string thing),
+ oneway void testInit()
+}
\ No newline at end of file
diff --git a/test/markup/tp/default.expect.txt b/test/markup/tp/default.expect.txt
new file mode 100644
index 0000000000..7c23232530
--- /dev/null
+++ b/test/markup/tp/default.expect.txt
@@ -0,0 +1,156 @@
+/PROG ALL
+/ATTR
+OWNER = MNEDITOR;
+COMMENT = "" ;
+PROG_SIZE = 3689 ;
+CREATE = DATE 14 -05 -13 TIME 17 :03 :06 ;
+MODIFIED = DATE 14 -05 -13 TIME 17 :21 :44 ;
+FILE_NAME = ;
+VERSION = 0 ;
+LINE_COUNT = 118 ;
+MEMORY_SIZE = 4365 ;
+PROTECT = READ_WRITE;
+TCD: STACK_SIZE = 0 ,
+ TASK_PRIORITY = 50 ,
+ TIME_SLICE = 0 ,
+ BUSY_LAMP_OFF = 0 ,
+ ABORT_REQUEST = 0 ,
+ PAUSE_REQUEST = 0 ;
+DEFAULT_GROUP = 1 ,*,*,*,*;
+CONTROL_CODE = 00000000 00000000 ;
+/MN
+
+J P[1 :test point ] 100 % FINE ;
+J P[1 ] 100 .0 sec CNT 100 ;
+J P[1 ] 100msec CNT R[1 ] ;
+L P[1 ] 100 /sec FINE ;
+L P[1 ] 100cm/min CNT 100 ;
+L P[1 ] 100 .0 inch/min CNT 100 ;
+L P[1 ] 100deg/sec CNT 100 ;
+
+L P[1 ] R[1 ] sec CNT 100 ;
+
+L PR[1 ] R[R[1 ] ] msec CNT 100 ;
+
+L PR[R[1 ] ] max_speed CNT 100 ;
+ ;
+
+ R[1 ] =R[2 ] ;
+
+ R[R[1 ] ] =R[2 ] ;
+
+ $foo =$bar [100 ].$baz ;
+ R[1 ] =$FOO .$BAR ;
+ ;
+
+ PR[1 ] =LPOS ;
+ PR[1 ] =JPOS ;
+ PR[1 ] =UFRAME[1 ] ;
+ PR[1 ] =UTOOL[1 ] ;
+ PR[1 ] =P[1 ] ;
+ PR[1 ,1 :component ] =5 ;
+ SR[1 :string reg ] =SR[2 ] +AR[1 ] ;
+ R[1 ] =SO[1 :Cycle start ] DIV SI[2 :Remote ] ;
+ R[1 ] =UO[1 :Cmd enabled ] MOD UI[1 :*IMSTP ] ;
+
+ DO[1 ] =(DI[1 ] AND AR[1 ] AND F[1 ] OR TIMER[1 ] >TIMER_OVERFLOW[1 ] ) ;
+ F[1 ] =(ON ) ;
+ JOINT_MAX_SPEED[1 ] =5 ;
+ LINEAR_MAX_SPEED =5 ;
+ SKIP CONDITION DI[1 ] =OFF - ;
+ PAYLOAD[R[1 ] ] ;
+ OFFSET CONDITION PR[1 ] ;
+ UFRAME_NUM =1 ;
+ UTOOL_NUM =1 ;
+ UFRAME[1 ] =PR[1 ] ;
+ UTOOL[1 ] =PR[1 ] ;
+ RSR[1 ] =ENABLE ;
+ RSR[AR[1 ] ] =DISABLE ;
+ UALM[1 ] ;
+ TIMER[1 ] =START ;
+ TIMER[1 ] =STOP ;
+ TIMER[1 ] =RESET ;
+ OVERRIDE =50 % ;
+ TOOL_OFFSET CONDITION PR[1 ] ;
+ LOCK PREG ;
+ UNLOCK PREG ;
+ COL DETECT ON ;
+ COL DETECT OFF ;
+ COL GUARD ADJUST R[1 ] ;
+ COL GUARD ADJUST 50 ;
+ MONITOR TEST ;
+ MONITOR END TEST ;
+ R[1 ] =STRLEN SR[1 ] ;
+ SR[1 ] =SUBSTR SR[2 ] ,R[3 ] ,R[4 ] ;
+ R[1 ] =FINDSTR SR[1 ] ,SR[2 ] ;
+ DIAG_REC[1 ,5 ,2 ] ;
+ ;
+
+ CALL TEST ;
+ CALL TEST(1 ,'string' ,SR[1 ] ,AR[1 ] ) ;
+ RUN TEST ;
+ RUN TEST(1 ,'string' ,SR[1 ] ,AR[1 ] ) ;
+ ;
+
+ IF R[1 ] =1 ,JMP LBL[5 ] ;
+ IF R[1 ] =AR[1 ] ,CALL TEST ;
+ IF (DI[1 ] ),R[1 ] =(5 ) ;
+ SELECT R[1 ] =1 ,JMP LBL[5 ] ;
+ =2 ,CALL TEST ;
+ ELSE ,JMP LBL[100 ] ;
+ FOR R[1 ] =1 TO R[2 ] ;
+ ENDFOR ;
+ ;
+
+ WAIT 1 .00 (sec) ;
+ WAIT R[5 ] ;
+ WAIT DI[1 ] =ON ;
+ WAIT DI[1 ] =ON + ;
+ WAIT ERR_NUM =1 ;
+ WAIT (DI[1 ] =ON ) ;
+ ;
+
+ JMP LBL[1 ] ;
+ JMP LBL[R[1 ] ] ;
+ LBL[100 ] ;
+ LBL[100 :TEST ] ;
+ ;
+
+ PAUSE ;
+ ABORT ;
+ ERROR_PROG =ALL ;
+ RESUME_PROG[1 ] =TEST ;
+ END ;
+ MESSAGE[ASDF] ;
+ ;
+
+
+
+ ;
+
+L P[1 ] 100mm/sec CNT 100 ACC 100 ;
+L P[1 ] 100mm/sec CNT 100 ACC R[1 ] ;
+L P[1 ] 100mm/sec CNT 100 Skip ,LBL[1 ] ;
+L P[1 ] 100mm/sec CNT 100 BREAK ;
+L P[1 ] 100mm/sec CNT 100 Offset ;
+L P[1 ] 100mm/sec CNT 100 PSPD 50 ;
+L P[1 ] 100mm/sec CNT 100 Offset ,PR[1 ] ;
+L P[1 ] 100mm/sec CNT 100 INC ;
+L P[1 ] 100mm/sec CNT 100 RT_LD R[1 ] ;
+L P[1 ] 100mm/sec CNT 100 AP_LD 50 ;
+L P[1 ] 100mm/sec CNT 100 Tool_Offset ;
+L P[1 ] 100mm/sec CNT 100 Tool_Offset ,PR[1 ] ;
+L P[1 ] 100mm/sec CNT 100 Skip ,LBL[1 ] ,PR[1 ] =LPOS ;
+L P[1 ] 100mm/sec CNT 100 TB R[5 ] sec,CALL ALL ;
+L P[1 ] 100mm/sec CNT 100 TA 0 .00 sec,AO[1 ] =R[5 ] ;
+L P[1 ] 100mm/sec CNT 100 DB 0 .0 mm,CALL ALL ;
+L P[1 ] 100mm/sec CNT 100 PTH ;
+L P[1 ] 100mm/sec CNT 100 VOFFSET ,VR[1 ] ;
+/POS
+P[1 :"test" ] {
+ GP 1 :
+ UF : 0 , UT : 1 , CONFIG : '' ,
+ X = 550 .000 mm, Y = 0 .000 mm, Z = -685.000 mm,
+ W = 180 .000 deg, P = 0 .000 deg, R = 0 .000 deg
+};
+/END
diff --git a/test/markup/tp/default.txt b/test/markup/tp/default.txt
new file mode 100644
index 0000000000..e88134c4de
--- /dev/null
+++ b/test/markup/tp/default.txt
@@ -0,0 +1,156 @@
+/PROG ALL
+/ATTR
+OWNER = MNEDITOR;
+COMMENT = "";
+PROG_SIZE = 3689;
+CREATE = DATE 14-05-13 TIME 17:03:06;
+MODIFIED = DATE 14-05-13 TIME 17:21:44;
+FILE_NAME = ;
+VERSION = 0;
+LINE_COUNT = 118;
+MEMORY_SIZE = 4365;
+PROTECT = READ_WRITE;
+TCD: STACK_SIZE = 0,
+ TASK_PRIORITY = 50,
+ TIME_SLICE = 0,
+ BUSY_LAMP_OFF = 0,
+ ABORT_REQUEST = 0,
+ PAUSE_REQUEST = 0;
+DEFAULT_GROUP = 1,*,*,*,*;
+CONTROL_CODE = 00000000 00000000;
+/MN
+ ! motion ;
+J P[1:test point] 100% FINE ;
+J P[1] 100.0sec CNT100 ;
+J P[1] 100msec CNT R[1] ;
+L P[1] 100/sec FINE ;
+L P[1] 100cm/min CNT100 ;
+L P[1] 100.0inch/min CNT100 ;
+L P[1] 100deg/sec CNT100 ;
+ ! indirect speed ;
+L P[1] R[1]sec CNT100 ;
+ ! indirect indirect ;
+L PR[1] R[R[1]]msec CNT100 ;
+ ! indirect destination ;
+L PR[R[1]] max_speed CNT100 ;
+ ;
+ ! assignment ;
+ R[1]=R[2] ;
+ ! indirect assignment ;
+ R[R[1]]=R[2] ;
+ ! system variables ;
+ $foo=$bar[100].$baz ;
+ R[1]=$FOO.$BAR ;
+ ;
+ ! various keyword assignments ;
+ PR[1]=LPOS ;
+ PR[1]=JPOS ;
+ PR[1]=UFRAME[1] ;
+ PR[1]=UTOOL[1] ;
+ PR[1]=P[1] ;
+ PR[1,1:component]=5 ;
+ SR[1:string reg]=SR[2]+AR[1] ;
+ R[1]=SO[1:Cycle start] DIV SI[2:Remote] ;
+ R[1]=UO[1:Cmd enabled] MOD UI[1:*IMSTP] ;
+ ! mixed logic ;
+ DO[1]=(DI[1] AND AR[1] AND F[1] OR TIMER[1]>TIMER_OVERFLOW[1]) ;
+ F[1]=(ON) ;
+ JOINT_MAX_SPEED[1]=5 ;
+ LINEAR_MAX_SPEED=5 ;
+ SKIP CONDITION DI[1]=OFF- ;
+ PAYLOAD[R[1]] ;
+ OFFSET CONDITION PR[1] ;
+ UFRAME_NUM=1 ;
+ UTOOL_NUM=1 ;
+ UFRAME[1]=PR[1] ;
+ UTOOL[1]=PR[1] ;
+ RSR[1]=ENABLE ;
+ RSR[AR[1]]=DISABLE ;
+ UALM[1] ;
+ TIMER[1]=START ;
+ TIMER[1]=STOP ;
+ TIMER[1]=RESET ;
+ OVERRIDE=50% ;
+ TOOL_OFFSET CONDITION PR[1] ;
+ LOCK PREG ;
+ UNLOCK PREG ;
+ COL DETECT ON ;
+ COL DETECT OFF ;
+ COL GUARD ADJUST R[1] ;
+ COL GUARD ADJUST 50 ;
+ MONITOR TEST ;
+ MONITOR END TEST ;
+ R[1]=STRLEN SR[1] ;
+ SR[1]=SUBSTR SR[2],R[3],R[4] ;
+ R[1]=FINDSTR SR[1],SR[2] ;
+ DIAG_REC[1,5,2] ;
+ ;
+ ! program calls ;
+ CALL TEST ;
+ CALL TEST(1,'string',SR[1],AR[1]) ;
+ RUN TEST ;
+ RUN TEST(1,'string',SR[1],AR[1]) ;
+ ;
+ ! conditionals ;
+ IF R[1]=1,JMP LBL[5] ;
+ IF R[1]=AR[1],CALL TEST ;
+ IF (DI[1]),R[1]=(5) ;
+ SELECT R[1]=1,JMP LBL[5] ;
+ =2,CALL TEST ;
+ ELSE,JMP LBL[100] ;
+ FOR R[1]=1 TO R[2] ;
+ ENDFOR ;
+ ;
+ ! wait statement ;
+ WAIT 1.00(sec) ;
+ WAIT R[5] ;
+ WAIT DI[1]=ON ;
+ WAIT DI[1]=ON+ ;
+ WAIT ERR_NUM=1 ;
+ WAIT (DI[1]=ON) ;
+ ;
+ ! jumps and labels ;
+ JMP LBL[1] ;
+ JMP LBL[R[1]] ;
+ LBL[100] ;
+ LBL[100:TEST] ;
+ ;
+ ! statements ;
+ PAUSE ;
+ ABORT ;
+ ERROR_PROG=ALL ;
+ RESUME_PROG[1]=TEST ;
+ END ;
+ MESSAGE[ASDF] ;
+ ;
+ ! comments ;
+ --eg:ASDFASDFASDF ;
+ // L P[9] 100mm/sec CNT100 ACC100 ;
+ ;
+ ! motion modifiers ;
+L P[1] 100mm/sec CNT100 ACC100 ;
+L P[1] 100mm/sec CNT100 ACC R[1] ;
+L P[1] 100mm/sec CNT100 Skip,LBL[1] ;
+L P[1] 100mm/sec CNT100 BREAK ;
+L P[1] 100mm/sec CNT100 Offset ;
+L P[1] 100mm/sec CNT100 PSPD50 ;
+L P[1] 100mm/sec CNT100 Offset,PR[1] ;
+L P[1] 100mm/sec CNT100 INC ;
+L P[1] 100mm/sec CNT100 RT_LDR[1] ;
+L P[1] 100mm/sec CNT100 AP_LD50 ;
+L P[1] 100mm/sec CNT100 Tool_Offset ;
+L P[1] 100mm/sec CNT100 Tool_Offset,PR[1] ;
+L P[1] 100mm/sec CNT100 Skip,LBL[1],PR[1]=LPOS ;
+L P[1] 100mm/sec CNT100 TB R[5]sec,CALL ALL ;
+L P[1] 100mm/sec CNT100 TA 0.00sec,AO[1]=R[5] ;
+L P[1] 100mm/sec CNT100 DB 0.0mm,CALL ALL ;
+L P[1] 100mm/sec CNT100 PTH ;
+L P[1] 100mm/sec CNT100 VOFFSET,VR[1] ;
+/POS
+P[1:"test"]{
+ GP1:
+ UF : 0, UT : 1, CONFIG : '',
+ X = 550.000 mm, Y = 0.000 mm, Z = -685.000 mm,
+ W = 180.000 deg, P = 0.000 deg, R = 0.000 deg
+};
+/END
diff --git a/test/markup/vala/default.expect.txt b/test/markup/vala/default.expect.txt
new file mode 100644
index 0000000000..ce90b2b45f
--- /dev/null
+++ b/test/markup/vala/default.expect.txt
@@ -0,0 +1,46 @@
+using DBus ;
+
+namespace Test {
+ class Foo : Object {
+ public signal void some_event ();
+ public void method () {
+ some_event ();
+ }
+ }
+}
+
+
+class Track : GLib .Object , Test .Foo {
+ public double mass;
+ public double name { get ; set ; }
+ private bool terminated = false ;
+ public void terminate() {
+ terminated = true ;
+ }
+}
+
+const ALL_UPPER_CASE = "you should follow this convention" ;
+
+var t = new Track();
+var s = "hello" ;
+var l = new List<int >();
+var i = 10 ;
+
+
+#if (ololo)
+Regex regex = /foo/;
+#endif
+
+
+void main () {
+ var long_string = """
+ Example of "verbatim string".
+ Same as in @"string" in C#
+ """
+ var foo = new Foo ();
+ foo.some_event.connect (callback_a);
+ foo.some_event.connect (callback_b);
+ foo.method ();
+}
diff --git a/test/markup/vala/default.txt b/test/markup/vala/default.txt
new file mode 100644
index 0000000000..aed0468299
--- /dev/null
+++ b/test/markup/vala/default.txt
@@ -0,0 +1,46 @@
+using DBus;
+
+namespace Test {
+ class Foo : Object {
+ public signal void some_event (); // definition of the signal
+ public void method () {
+ some_event (); // emitting the signal (callbacks get invoked)
+ }
+ }
+}
+
+/* defining a class */
+class Track : GLib.Object, Test.Foo { /* subclassing 'GLib.Object' */
+ public double mass; /* a public field */
+ public double name { get; set; } /* a public property */
+ private bool terminated = false; /* a private field */
+ public void terminate() { /* a public method */
+ terminated = true;
+ }
+}
+
+const ALL_UPPER_CASE = "you should follow this convention";
+
+var t = new Track(); // same as: Track t = new Track();
+var s = "hello"; // same as: string s = "hello";
+var l = new List(); // same as: List l = new List();
+var i = 10; // same as: int i = 10;
+
+
+#if (ololo)
+Regex regex = /foo/;
+#endif
+
+/*
+ * Entry point can be outside class
+ */
+void main () {
+ var long_string = """
+ Example of "verbatim string".
+ Same as in @"string" in C#
+ """
+ var foo = new Foo ();
+ foo.some_event.connect (callback_a); // connecting the callback functions
+ foo.some_event.connect (callback_b);
+ foo.method ();
+}
diff --git a/test/markup/vbnet/default.expect.txt b/test/markup/vbnet/default.expect.txt
new file mode 100644
index 0000000000..0a4ea92e19
--- /dev/null
+++ b/test/markup/vbnet/default.expect.txt
@@ -0,0 +1,42 @@
+Import System
+Import System.IO
+#Const DEBUG = True
+
+Namespace Highlighter.Test
+
+ Public Class Program
+ Protected Shared hello As Integer = 3
+ Private Const ABC As Boolean = False
+
+#Region "Code"
+
+ <STAThread()> _
+ Public Shared Sub Main(ByVal args() As String , ParamArray arr As Object ) Handles Form1.Click
+ On Error Resume Next
+ If ABC Then
+ While ABC : Console.WriteLine() : End While
+ For i As Long = 0 To 1000 Step 123
+ Try
+ System.Windows.Forms.MessageBox.Show(CInt ("1" ).ToString())
+ Catch ex As Exception
+ Dim exp = CType (ex, IOException)
+ REM ORZ
+ Return
+ End Try
+ Next
+ Else
+ Dim l As New System.Collections.List<String >()
+ SyncLock l
+ If TypeOf l Is Decimal And l IsNot Nothing Then
+ RemoveHandler button1.Paint, delegate
+ End If
+ Dim d = New System.Threading.Thread(AddressOf ThreadProc)
+ Dim a = New Action(Sub (x, y) x + y)
+ Static u = From x As String In l Select x.Substring(2 , 4 ) Where x.Length > 0
+ End SyncLock
+ Do : Laugh() : Loop Until hello = 4
+ End If
+ End Sub
+#End Region
+ End Class
+End Namespace
diff --git a/test/markup/vbnet/default.txt b/test/markup/vbnet/default.txt
new file mode 100644
index 0000000000..00ac1520e0
--- /dev/null
+++ b/test/markup/vbnet/default.txt
@@ -0,0 +1,42 @@
+Import System
+Import System.IO
+#Const DEBUG = True
+
+Namespace Highlighter.Test
+ ''' This is an example class.
+ Public Class Program
+ Protected Shared hello As Integer = 3
+ Private Const ABC As Boolean = False
+
+#Region "Code"
+ ' Cheers!
+ _
+ Public Shared Sub Main(ByVal args() As String, ParamArray arr As Object) Handles Form1.Click
+ On Error Resume Next
+ If ABC Then
+ While ABC : Console.WriteLine() : End While
+ For i As Long = 0 To 1000 Step 123
+ Try
+ System.Windows.Forms.MessageBox.Show(CInt("1").ToString())
+ Catch ex As Exception ' What are you doing? Well...
+ Dim exp = CType(ex, IOException)
+ REM ORZ
+ Return
+ End Try
+ Next
+ Else
+ Dim l As New System.Collections.List()
+ SyncLock l
+ If TypeOf l Is Decimal And l IsNot Nothing Then
+ RemoveHandler button1.Paint, delegate
+ End If
+ Dim d = New System.Threading.Thread(AddressOf ThreadProc)
+ Dim a = New Action(Sub(x, y) x + y)
+ Static u = From x As String In l Select x.Substring(2, 4) Where x.Length > 0
+ End SyncLock
+ Do : Laugh() : Loop Until hello = 4
+ End If
+ End Sub
+#End Region
+ End Class
+End Namespace
diff --git a/test/markup/vbscript-html/default.expect.txt b/test/markup/vbscript-html/default.expect.txt
new file mode 100644
index 0000000000..7c00d6b4b0
--- /dev/null
+++ b/test/markup/vbscript-html/default.expect.txt
@@ -0,0 +1,8 @@
+<body >
+<%
+If i < 10 Then
+ response .write("Good morning!" )
+End If
+%>
+</body >
+
\ No newline at end of file
diff --git a/test/markup/vbscript-html/default.txt b/test/markup/vbscript-html/default.txt
new file mode 100644
index 0000000000..6627356d7f
--- /dev/null
+++ b/test/markup/vbscript-html/default.txt
@@ -0,0 +1,7 @@
+
+<%
+If i < 10 Then
+ response.write("Good morning!")
+End If
+%>
+
diff --git a/test/markup/vbscript/default.expect.txt b/test/markup/vbscript/default.expect.txt
new file mode 100644
index 0000000000..60734966cb
--- /dev/null
+++ b/test/markup/vbscript/default.expect.txt
@@ -0,0 +1,29 @@
+
+Set cfg = CreateObject ("Scripting.Dictionary" )
+
+
+for i = 0 to ubound (ini_strings)
+ s = trim (ini_strings(i))
+
+
+ if mid (s, 1 , 1 ) <> "#" and len (s) > 0 then
+
+ parts = split (s, "=" , -1 , 1 )
+
+ if ubound (parts)+1 = 2 then
+ parts(0 ) = trim (parts(0 ))
+ parts(1 ) = trim (parts(1 ))
+
+
+ select case lcase (parts(0 ))
+ case "uncompressed""_postfix" cfg.item("uncompressed""_postfix" ) = parts(1 )
+ case "f"
+ options = split (parts(1 ), "|" , -1 , 1 )
+ if ubound (options)+1 = 2 then
+
+ ff.add trim (options(0 )), trim (options(1 ))
+ end if
+ end select
+ end if
+ end if
+next
\ No newline at end of file
diff --git a/test/markup/vbscript/default.txt b/test/markup/vbscript/default.txt
new file mode 100644
index 0000000000..0982529b4b
--- /dev/null
+++ b/test/markup/vbscript/default.txt
@@ -0,0 +1,29 @@
+' creating configuration storage and initializing with default values
+Set cfg = CreateObject("Scripting.Dictionary")
+
+' reading ini file
+for i = 0 to ubound(ini_strings)
+ s = trim(ini_strings(i))
+
+ ' skipping empty strings and comments
+ if mid(s, 1, 1) <> "#" and len(s) > 0 then
+ ' obtaining key and value
+ parts = split(s, "=", -1, 1)
+
+ if ubound(parts)+1 = 2 then
+ parts(0) = trim(parts(0))
+ parts(1) = trim(parts(1))
+
+ ' reading configuration and filenames
+ select case lcase(parts(0))
+ case "uncompressed""_postfix" cfg.item("uncompressed""_postfix") = parts(1)
+ case "f"
+ options = split(parts(1), "|", -1, 1)
+ if ubound(options)+1 = 2 then
+ ' 0: filename, 1: options
+ ff.add trim(options(0)), trim(options(1))
+ end if
+ end select
+ end if
+ end if
+next
\ No newline at end of file
diff --git a/test/markup/vhdl/default.expect.txt b/test/markup/vhdl/default.expect.txt
new file mode 100644
index 0000000000..016cace6a8
--- /dev/null
+++ b/test/markup/vhdl/default.expect.txt
@@ -0,0 +1,41 @@
+
+
+library ieee;
+use ieee.std_logic_1164.all ;
+
+entity RS_trigger is
+ generic (T: Time := 0 ns);
+ port ( R, S : in std_logic ;
+ Q, nQ : out std_logic ;
+ reset, clock : in std_logic );
+end RS_trigger;
+
+architecture behaviour of RS_trigger is
+ signal QT: std_logic ;
+begin
+ process (clock, reset) is
+ subtype RS is std_logic_vector (1 downto 0 );
+ begin
+ if reset = '0' then
+ QT <= '0' ;
+ else
+ if rising_edge(C) then
+ if not (R'stable (T) and S'stable (T)) then
+ QT <= 'X' ;
+ else
+ case RS'(R&S) is
+ when "01" => QT <= '1' ;
+ when "10" => QT <= '0' ;
+ when "11" => QT <= 'X' ;
+ when others => null ;
+ end case ;
+ end if ;
+ end if ;
+ end if ;
+ end process ;
+
+ Q <= QT;
+ nQ <= not QT;
+end architecture behaviour;
diff --git a/test/markup/vhdl/default.txt b/test/markup/vhdl/default.txt
new file mode 100644
index 0000000000..3e7edc0445
--- /dev/null
+++ b/test/markup/vhdl/default.txt
@@ -0,0 +1,41 @@
+/*
+ * RS-trigger with assynch. reset
+ */
+
+library ieee;
+use ieee.std_logic_1164.all;
+
+entity RS_trigger is
+ generic (T: Time := 0ns);
+ port ( R, S : in std_logic;
+ Q, nQ : out std_logic;
+ reset, clock : in std_logic );
+end RS_trigger;
+
+architecture behaviour of RS_trigger is
+ signal QT: std_logic; -- Q(t)
+begin
+ process(clock, reset) is
+ subtype RS is std_logic_vector (1 downto 0);
+ begin
+ if reset = '0' then
+ QT <= '0';
+ else
+ if rising_edge(C) then
+ if not (R'stable(T) and S'stable(T)) then
+ QT <= 'X';
+ else
+ case RS'(R&S) is
+ when "01" => QT <= '1';
+ when "10" => QT <= '0';
+ when "11" => QT <= 'X';
+ when others => null;
+ end case;
+ end if;
+ end if;
+ end if;
+ end process;
+
+ Q <= QT;
+ nQ <= not QT;
+end architecture behaviour;
diff --git a/test/markup/xl/default.expect.txt b/test/markup/xl/default.expect.txt
new file mode 100644
index 0000000000..d3675fcea2
--- /dev/null
+++ b/test/markup/xl/default.expect.txt
@@ -0,0 +1,28 @@
+import Animate
+import SeasonsGreetingsTheme
+import "myhelper.xl"
+theme "SeasonsGreetings"
+function X:real -> sin (X*0.5 ) + 16#0.002
+page "A nice car" ,
+
+
+
+ clear_color 0 , 0 , 0 , 1
+ hand_scale -> 0.3
+
+
+ background -4000 ,
+ locally
+ disable_depth_test
+ corridor N:integer ->
+ locally
+ rotatez 60 * N
+ translatex 1000
+ rotatey 90
+ color "white"
+ texture "stars.png"
+ texture_wrap true , true
+ texture_transform
+ translate (time + N) * 0.02 mod 1 , 0 , 0
+ scale 0.2 , 0.3 , 0.3
+ rectangle 0 , 0 , 100000 , 1154
diff --git a/test/markup/xl/default.txt b/test/markup/xl/default.txt
new file mode 100644
index 0000000000..93f64ad31f
--- /dev/null
+++ b/test/markup/xl/default.txt
@@ -0,0 +1,28 @@
+import Animate
+import SeasonsGreetingsTheme
+import "myhelper.xl"
+theme "SeasonsGreetings"
+function X:real -> sin(X*0.5) + 16#0.002
+page "A nice car",
+// --------------------------------------
+// Display car model on a pedestal
+// --------------------------------------
+ clear_color 0, 0, 0, 1
+ hand_scale -> 0.3
+
+ // Display the background image
+ background -4000,
+ locally
+ disable_depth_test
+ corridor N:integer ->
+ locally
+ rotatez 60 * N
+ translatex 1000
+ rotatey 90
+ color "white"
+ texture "stars.png"
+ texture_wrap true, true
+ texture_transform
+ translate (time + N) * 0.02 mod 1, 0, 0
+ scale 0.2, 0.3, 0.3
+ rectangle 0, 0, 100000, 1154