Skip to content

Commit 86f4fc2

Browse files
committed
Merge branch 'master' into feature/incomplete-probability-calls
2 parents 88630fe + 3699f24 commit 86f4fc2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1927
-2909
lines changed

Dockerfile

Lines changed: 0 additions & 26 deletions
This file was deleted.

Jenkinsfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,7 @@ pipeline {
658658

659659
// Checkout gh-pages as a test so we build docs from this branch
660660
runShell("""
661+
git remote set-branches --add origin gh-pages
661662
git checkout --track origin/gh-pages
662663
git checkout master
663664
""")
@@ -702,4 +703,4 @@ pipeline {
702703
script {utils.mailBuildResults()}
703704
}
704705
}
705-
}
706+
}

Jenkinsfile-test-binaries

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ pipeline {
5555
stages {
5656
stage("Build") {
5757
agent {
58-
dockerfile {
59-
filename 'docker/debian/Dockerfile'
58+
docker {
59+
image 'stanorg/stanc3:debian'
6060
args "-u root --entrypoint=\'\'"
6161
label 'linux-ec2'
6262
}
@@ -108,8 +108,8 @@ pipeline {
108108
}
109109
stage("Build stanc.js") {
110110
agent {
111-
dockerfile {
112-
filename 'docker/debian/Dockerfile'
111+
docker {
112+
image 'stanorg/stanc3:debian'
113113
//Forces image to ignore entrypoint
114114
args "-u root --entrypoint=\'\'"
115115
label 'linux-ec2'
@@ -134,8 +134,8 @@ pipeline {
134134
}
135135
stage("Build & test a static Linux binary") {
136136
agent {
137-
dockerfile {
138-
filename 'docker/static/Dockerfile'
137+
docker {
138+
image 'stanorg/stanc3:static'
139139
//Forces image to ignore entrypoint
140140
args "-u 1000 --entrypoint=\'\'"
141141
label 'linux-ec2'
@@ -167,8 +167,8 @@ pipeline {
167167
// Cross compiling for windows on debian
168168
stage("Build & test static Windows binary") {
169169
agent {
170-
dockerfile {
171-
filename 'docker/debian-windows/Dockerfile'
170+
docker {
171+
image 'stanorg/stanc3:debian-windows'
172172
label 'linux-ec2'
173173
//Forces image to ignore entrypoint
174174
args "-u 1000 --entrypoint=\'\'"
@@ -178,7 +178,7 @@ pipeline {
178178

179179
script {
180180
checkoutRepository("sh")
181-
}
181+
}
182182
runShell("""
183183
eval \$(opam env)
184184
dune subst

README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,44 @@ The entrypoint for the compiler is in `src/stanc/stanc.ml` which sequences the v
2828
### Distinct stanc Phases
2929

3030
The phases of stanc are summarized in the following information flowchart and list.
31-
31+
<!---
32+
digraph G {
33+
rankdir=TB;
34+
ranksep=.25;
35+
bgcolor=white;
36+
size=5;
37+
node [shape="box"];
38+
39+
origin[style=invis];
40+
stanc[label="stanc/stanc.ml"];
41+
lexer[label="frontend/lexer.mll"];
42+
parser[label="frontend/parser.mly"];
43+
type[label="frontend/Typechecker.ml"];
44+
lower[label="frontend/Ast_to_Mir.ml"];
45+
transform[label="*_backend/Transform_Mir.ml"];
46+
optimize[label="analysis_and_optimization/Optimize.ml"];
47+
codegen[label="*_backend/*_code_gen.ml"];
48+
output[shape="oval" label=".hpp file"]
49+
50+
51+
origin -> stanc[label=" .stan file path"];
52+
stanc -> lexer[label=" string"];
53+
lexer -> parser[label=" tokens"];
54+
parser -> type[label=" untyped AST"];
55+
type -> lower[label=" typed AST"];
56+
lower -> transform[label=" MIR"];
57+
transform -> optimize[label=" transformed MIR"];
58+
transform -> codegen[label=" "];
59+
optimize -> codegen[headlabel="optimized MIR "];
60+
codegen -> output[label=" C++ code"];
61+
62+
}
63+
--->
3264
![stanc3 information flow](docs/img/information-flow.png)
3365

3466
1. [Lex](src/frontend/lexer.mll) the Stan language into tokens.
3567
1. [Parse](src/frontend/parser.mly) Stan language into AST that represents the syntax quite closely and aides in development of pretty-printers and linters. `stanc --debug-ast` to print this out.
36-
1. Typecheck & add type information [Semantic_check.ml](src/frontend/Semantic_check.ml). `stanc --debug-decorated-ast`
68+
1. Typecheck & add type information [Typechecker.ml](src/frontend/Typechecker.ml). `stanc --debug-decorated-ast`
3769
1. [Lower](src/frontend/Ast_to_Mir.ml) into [Middle Intermediate Representation](src/middle/Mir.ml) (AST -> MIR) `stanc --debug-mir` (or `--debug-mir-pretty`)
3870
1. Analyze & optimize (MIR -> MIR)
3971
1. Backend MIR transform (MIR -> MIR) [Transform_Mir.ml](src/stan_math_backend/Transform_Mir.ml) `stanc --debug-transformed-mir`

docker/README.md

Lines changed: 0 additions & 67 deletions
This file was deleted.

docker/debian-windows/Dockerfile

Lines changed: 0 additions & 30 deletions
This file was deleted.

docker/debian/Dockerfile

Lines changed: 0 additions & 29 deletions
This file was deleted.

docker/multiarch/Dockerfile

Lines changed: 0 additions & 59 deletions
This file was deleted.

docker/multiarch/README.md

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)