From d58e0e166e3626d2f326829a3346903c94a64725 Mon Sep 17 00:00:00 2001 From: johti Date: Sun, 22 Mar 2020 14:52:34 +0100 Subject: [PATCH 1/2] Added missing setfield dependency --- deps/build.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/deps/build.jl b/deps/build.jl index a39442b..2e8c099 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -9,6 +9,7 @@ function buildDeps() Pkg.add("DataStructures") Pkg.add("MacroTools") Pkg.add("ImmutableList") + Pkg.add("Setfield") @info("Build all dependencies succesfull") end From 7ed2f26c0836a1fc8cf62198f99652f91db2074e Mon Sep 17 00:00:00 2001 From: johti Date: Fri, 10 Apr 2020 17:36:17 +0200 Subject: [PATCH 2/2] Documentation: Fix auto docs (WIP) --- docs/make.jl | 4 ++ docs/src/index.md | 21 ++++++ docs/src/man/list.md | 15 +++++ docs/src/man/matchin.md | 6 ++ docs/src/man/runtime.md | 134 ++++++++++++++++++++++++++++++++++++++ docs/src/man/semantics.md | 14 ++++ src/metaModelicaTypes.jl | 1 - src/metaRuntime.jl | 6 +- 8 files changed, 197 insertions(+), 4 deletions(-) create mode 100644 docs/make.jl create mode 100644 docs/src/index.md create mode 100644 docs/src/man/list.md create mode 100644 docs/src/man/matchin.md create mode 100644 docs/src/man/runtime.md create mode 100644 docs/src/man/semantics.md diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..f0ebff6 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,4 @@ +push!(LOAD_PATH,"../src/") +using Documenter, MetaModelica + +makedocs(sitename="My Documentation") diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 0000000..06bac25 --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,21 @@ +# MetaModelica.jl Documentation + +```@meta +CurrentModule = MetaModelica +``` + +## Outline +```@contents +Pages = [ + "man/runtime.md", + "man/matchin.md", + "man/list.md", + "man/semantics.md", +] +Depth = 1 +``` + +## Index + +```@index +``` diff --git a/docs/src/man/list.md b/docs/src/man/list.md new file mode 100644 index 0000000..ee9e7da --- /dev/null +++ b/docs/src/man/list.md @@ -0,0 +1,15 @@ +```@meta +CurrentModule = MetaModelica +``` + +```@contents +``` + +## List operations +```@docs +do_threaded_for +<| +shouldFail +sourceInfo +_cons +``` diff --git a/docs/src/man/matchin.md b/docs/src/man/matchin.md new file mode 100644 index 0000000..bf04979 --- /dev/null +++ b/docs/src/man/matchin.md @@ -0,0 +1,6 @@ +## Patternmatching +```@docs +@match +@matchcontinue +MatchFailure +``` diff --git a/docs/src/man/runtime.md b/docs/src/man/runtime.md new file mode 100644 index 0000000..e01691d --- /dev/null +++ b/docs/src/man/runtime.md @@ -0,0 +1,134 @@ +## Runtime Functions provided by MetaModelica.jl +```@docs + anyString + arrayAppend + arrayCopy + arrayCreate + arrayEmpty + arrayGet + arrayLength + arrayList + arrayUpdate + boolNot + boolAnd + boolEq + boolOr + boolString + clock + cons + debug_print + equality + fail + getGlobalRoot + intAbs + intAdd + intBitLShift + intBitNot + intBitOr + intBitRShift + intBitXor + intDiv + intEq + intGe + intGt + intLe + intLt + intMax + intMin + intMod + intMul + intMul + intNe + intNeg + intReal + intString + intStringChar + intSub + isNone + isPresent + isSome + listAppend + listArray + listDelete + listEmpty + listGet + listHead + listLength + listMember + listRest + listReverse + listReverseInPlace + listStringCharString + printAny + realAbs + realAdd + realDiv + realEq + realGe + realGt + realInt + realLe + realLt + realMax + realMin + realMod + realMul + realNe + realNeg + realNeg + realPow + realString + realSub + referenceDebugString + referenceEq + referencePointerString + setGlobalRoot + setStackOverflowSignal + stringAppend + stringAppendList + stringCharInt + stringCharListString + stringCompare + stringDelimitList + stringEmpty + stringEqual + stringEq + stringGet + stringGetStringChar + stringHash + stringHashDjb2 + stringHashDjb2Mod + stringHashSdbm + stringInt + stringLength + stringListStringChar + stringReal + stringUpdateStringChar + substring + tick + valueCompare + valueConstructor + valueEq + valueHashMod + valueSlots + _listAppend + getInstanceName + StringFunction + ``` + +## Patternmatching +```@docs +match +matchcontinue +MatchFailure +``` +## Extended Semantics +``` +Uniontype +Record +UniontypeDecl +ExtendedFunction +ExtendedAnonFunction +assign +shouldFail +``` diff --git a/docs/src/man/semantics.md b/docs/src/man/semantics.md new file mode 100644 index 0000000..def32eb --- /dev/null +++ b/docs/src/man/semantics.md @@ -0,0 +1,14 @@ +## Semantic extensions + +This package provides various extensions to the semantics of the Julia language. +The extensions provided by this package are listed below. + +```@docs +@Uniontype +@Record +@UniontypeDecl +@ExtendedFunction +@ExtendedAnonFunction +@assign +@shouldFail +``` diff --git a/src/metaModelicaTypes.jl b/src/metaModelicaTypes.jl index 26b90bb..56b8147 100644 --- a/src/metaModelicaTypes.jl +++ b/src/metaModelicaTypes.jl @@ -15,7 +15,6 @@ TODO: =# abstract type MetaModelicaException <: Exception end - export ModelicaInteger, ModelicaReal, MetaModelicaException end diff --git a/src/metaRuntime.jl b/src/metaRuntime.jl index 988ade7..b90e123 100644 --- a/src/metaRuntime.jl +++ b/src/metaRuntime.jl @@ -487,7 +487,7 @@ function substring(str::String, start #=start index, first character is 1 =#::Mo out end -""" O(1) ? """ +""" O(1) """ function arrayLength(arr::Array{T})::ModelicaInteger where {T} length(arr) end @@ -511,7 +511,7 @@ function arrayCreate(size::ModelicaInteger, initialValue::A)::Array{A} where {A} fill(initialValue, size) end -""" Better """ +""" Creates an array out of a List """ function arrayList(arr::Array{T})::List{T} where {T} local lst::List{T} = nil for i in length(arr):-1:1 @@ -649,7 +649,7 @@ function valueEq(a1::A, a2::B)::Bool where {A, B} b end -""" a1 > a2? """ +""" a1 > a2 """ function valueCompare(a1::A, a2::A)::ModelicaInteger where {A} local i::ModelicaInteger = if valueConstructor(a1) < valueConstructor(a2)