Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • pub/frama-c
  • proidiot/frama-c
  • lthls/frama-c
3 results
Show changes
Commits on Source (189)
Showing
with 185 additions and 185 deletions
......@@ -53,10 +53,6 @@ autom4te.cache
/tests/crowbar/mutable
/tests/crowbar/output-*
/tests/crowbar/test_ghost_cfg
/tests/fc_script/compile_commands.json
/tests/journal/intra.byte
/tests/misc/my_visitor_plugin/my_visitor.opt
/tests/misc/my_visitor.sav
/tests/spec/preprocess_dos.c
/tests/*/*.opt
......@@ -195,7 +191,6 @@ Makefile.plugin.generated
# generated ML files
/src/libraries/utils/json.ml
/src/kernel_internals/runtime/toplevel_boot.ml
/src/kernel_internals/runtime/fc_config.ml
/src/kernel_internals/parsing/logic_lexer.ml
/src/kernel_internals/parsing/logic_parser.ml
......@@ -210,8 +205,6 @@ Makefile.plugin.generated
/src/plugins/gui/dgraph_helper.ml
/src/plugins/gui/GSourceView.ml
/src/plugins/gui/GSourceView.mli
/src/plugins/gui/GSourceView2.ml
/src/plugins/gui/GSourceView2.mli
/src/plugins/gui/gtk_compat.ml
/src/plugins/markdown-report/META
......
......@@ -17,6 +17,7 @@
Open Source Release <next-release>
##################################
o! Kernel [2022-02-19] Removed obsolete AST nodes IndexPI and Info
o! Kernel [2021-12-03] Remove unused AST node Dcustom_annot and field
fpadding_in_bits. Do not cache size of types in the AST but in
a dedicated table.
......@@ -29,6 +30,10 @@ o! Kernel [2021-11-29] Integer.pretty does not have the optional argument
Open Source Release 24.0 (Chromium)
###################################
-* Eva [2022-01-19] Always emits alarms about initialization, escaping
pointers and special floating-point values for the arguments of
calls to functions without body (or whose body is not analyzed),
even when -eva-warn-copy-indeterminate is unset.
- ACSL [2021-10-28] better type checks for volatile clauses
- Variadic [2021-10-26] translates printf/scanf calls even if formatting
string is not constant, warning that it will assume arguments
......
......@@ -671,6 +671,9 @@ check-logic-parser-wildcard:
NON_OPAQUE_DEPS+= src/kernel_services/plugin_entry_points/dynamic
# abstract_memory.cmi must _not_ inherit the '-rectypes' flag, so we
# eagerly assign it _before_ adding -rectypes to the .cmo/.cmx files
src/kernel_services/abstract_interp/abstract_memory.cmi: BFLAGS := $(BFLAGS)
src/kernel_services/abstract_interp/abstract_memory.cmo: BFLAGS += -rectypes
src/kernel_services/abstract_interp/abstract_memory.cmx: OFLAGS += -rectypes
......@@ -853,7 +856,7 @@ endif
# - try to keep the legacy Value before Eva
PLUGIN_CMO:= partitioning/split_strategy domains/domain_mode value_parameters \
utils/eva_audit utils/value_perf utils/eva_annotations \
utils/value_util utils/red_statuses \
utils/eva_dynamic utils/value_util utils/red_statuses \
utils/mark_noresults \
utils/widen_hints_ext utils/widen \
partitioning/split_return \
......@@ -907,7 +910,7 @@ PLUGIN_CMO:= partitioning/split_strategy domains/domain_mode value_parameters \
utils/unit_tests
PLUGIN_CMI:= values/abstract_value values/abstract_location \
domains/abstract_domain domains/simpler_domains
PLUGIN_DEPENDENCIES:=Callgraph LoopAnalysis RteGen Server
PLUGIN_DEPENDENCIES:=Server
# These files are used by the GUI, but do not depend on Lablgtk
VALUE_GUI_AUX:=gui_files/gui_types gui_files/gui_eval \
......
......@@ -857,7 +857,8 @@ check_plugin(eva,src/plugins/value,
[support for value analysis],yes)
plugin_use(eva,gui)
plugin_use(eva,scope)
plugin_require(eva,callgraph)
plugin_use(eva,inout)
plugin_use(eva,callgraph)
plugin_require(eva,server)
####################
......
#!/bin/bash
# Script for profiling Frama-C with callgrind (a valgrind tool).
# Note: execution time with valgrind is about 15x-20x slower.
#
# Use this script at the root of the repository, so local_export.sh can be found
# in bin.
# For more focused results, you can activate the profiling only after entering
# a specific function. For instance, to only profile Eva, add
#
# --toggle-collect='*Eva__Analysis__force_compute*'
#
# to the command line below.
#
# Example of invocation :
#
# devel_tools/frama-c-callgrind tests/idct/*.c -eva -float-normal -no-warn-signed-overflow
#
# This creates a 'callgrind.out' file (Callgrind format), which can be viewed
# with a tool such as kcachegrind:
#
# kcachegrind callgrind.out
BASH_ARGV0="bin/frama-c" # hackish way to tell local_export that its dir is bin
. bin/local_export.sh
valgrind \
--tool=callgrind --callgrind-out-file=callgrind.out --dump-instr=yes \
--separate-callers=2 --collect-jumps=yes --fn-skip='caml_*' \
$BINDIR/toplevel.opt "$@"
......@@ -16,6 +16,7 @@
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{longtable}
\usepackage{varwidth}
\usepackage{tikz}
\usetikzlibrary{fit}
......
......@@ -841,8 +841,7 @@ to your needs. See \texttt{ocamlmerlin -help} for the list of flags.
\subsection{Pre-defined macros for tests commands}\label{sec:ptests-macros}
Ptests pre-defines a certain number of macros for each test about to be run.
Figure~\ref{fig:ptests-macros} gives their definition.
\begin{figure}[htbp]
\begin{tabular}{|p{4.5cm}|p{10cm}|}
\begin{longtable}{|p{4.5cm}|p{10cm}|}
\hline
Name & Expansion \\
\hline
......@@ -897,9 +896,8 @@ one for regular tests (if more than one \verb|OPT|).\\
\hline
\verb|frama-c-exe| & set to the value of the \verb|TOPLEVEL_PATH| variable from \verb|./tests/ptests_config| file\\
\hline
\end{tabular}
\caption{Predefined macros for ptests}\label{fig:ptests-macros}
\end{figure}
\end{longtable}
\section{Profiling with Landmarks} \label{refman:landmarks}\codeidxdef{Landmarks}
......@@ -937,6 +935,17 @@ For quick usage of the library:
Commonly used options include \verb+output=landmarks.log+ to output the result
to a file instead of \texttt{stderr}.
To instrument a single file: add \verb+[@@@landmark "auto"]+ at the beginning
of the file.
To instrument a single function: add \verb+[@landmark]+ after the \texttt{let},
e.g.:
\begin{lstlisting}
let[@landmark] add_visitor vis =
\end{lstlisting}
Check \url{https://github.com/LexiFi/landmarks} for its documentation.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......
......@@ -190,6 +190,7 @@ share/libc/__fc_define_ino_t.h: CEA_LGPL
share/libc/__fc_define_intptr_t.h: CEA_LGPL
share/libc/__fc_define_iovec.h: CEA_LGPL
share/libc/__fc_define_key_t.h: CEA_LGPL
share/libc/__fc_define_locale_t.h: CEA_LGPL
share/libc/__fc_define_max_open_files.h: CEA_LGPL
share/libc/__fc_define_mode_t.h: CEA_LGPL
share/libc/__fc_define_nlink_t.h: CEA_LGPL
......@@ -254,6 +255,7 @@ share/libc/ifaddrs.h: CEA_LGPL
share/libc/inttypes.c: CEA_LGPL
share/libc/inttypes.h: CEA_LGPL
share/libc/iso646.h: CEA_LGPL
share/libc/langinfo.h: CEA_LGPL
share/libc/libgen.h: CEA_LGPL
share/libc/limits.h: CEA_LGPL
share/libc/locale.c: CEA_LGPL
......@@ -292,6 +294,7 @@ share/libc/stdio.c: CEA_LGPL
share/libc/stdio.h: CEA_LGPL
share/libc/stdlib.c: CEA_LGPL
share/libc/stdlib.h: CEA_LGPL
share/libc/stdnoreturn.h: CEA_LGPL
share/libc/string.c: CEA_LGPL
share/libc/string.h: CEA_LGPL
share/libc/strings.h: CEA_LGPL
......@@ -1118,10 +1121,6 @@ src/plugins/qed/collection.mli: CEA_WP
src/plugins/qed/engine.mli: CEA_WP
src/plugins/qed/export.ml: CEA_WP
src/plugins/qed/export.mli: CEA_WP
src/plugins/qed/export_altergo.ml: CEA_WP
src/plugins/qed/export_altergo.mli: CEA_WP
src/plugins/qed/export_coq.ml: CEA_WP
src/plugins/qed/export_coq.mli: CEA_WP
src/plugins/qed/export_why3.ml: CEA_WP
src/plugins/qed/export_why3.mli: CEA_WP
src/plugins/qed/export_whycore.ml: CEA_WP
......@@ -1227,6 +1226,8 @@ src/plugins/server/server_parameters.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/server_parameters.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/server_batch.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/server_batch.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/server_socket.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/server_socket.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/server_zmq.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/server_zmq.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/server/states.ml: CEA_LGPL_OR_PROPRIETARY
......@@ -1311,6 +1312,7 @@ src/plugins/studia/writes.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/users/Users.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/users/users_register.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/users/users_register.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/.merlin: .ignore
src/plugins/value/Changelog_non_free: .ignore
src/plugins/value/Eva.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/alarmset.ml: CEA_LGPL_OR_PROPRIETARY
......@@ -1481,6 +1483,8 @@ src/plugins/value/utils/eva_annotations.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/eva_annotations.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/eva_audit.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/eva_audit.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/eva_dynamic.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/eva_dynamic.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/structure.ml: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/structure.mli: CEA_LGPL_OR_PROPRIETARY
src/plugins/value/utils/summary.ml: CEA_LGPL_OR_PROPRIETARY
......@@ -1688,10 +1692,6 @@ src/plugins/wp/ProofSession.ml: CEA_WP
src/plugins/wp/ProofSession.mli: CEA_WP
src/plugins/wp/ProofScript.ml: CEA_WP
src/plugins/wp/ProofScript.mli: CEA_WP
src/plugins/wp/ProverCoq.ml: CEA_WP
src/plugins/wp/ProverCoq.mli: CEA_WP
src/plugins/wp/ProverErgo.ml: CEA_WP
src/plugins/wp/ProverErgo.mli: CEA_WP
src/plugins/wp/ProverScript.ml: CEA_WP
src/plugins/wp/ProverScript.mli: CEA_WP
src/plugins/wp/ProverSearch.ml: CEA_WP
......@@ -1754,6 +1754,8 @@ src/plugins/wp/TacInstance.ml: CEA_WP
src/plugins/wp/TacInstance.mli: CEA_WP
src/plugins/wp/TacLemma.ml: CEA_WP
src/plugins/wp/TacLemma.mli: CEA_WP
src/plugins/wp/TacModMask.ml: CEA_WP
src/plugins/wp/TacModMask.mli: CEA_WP
src/plugins/wp/TacNormalForm.ml: CEA_WP
src/plugins/wp/TacNormalForm.mli: CEA_WP
src/plugins/wp/TacOverflow.ml: CEA_WP
......@@ -1847,8 +1849,6 @@ src/plugins/wp/intro_wp.txt: CEA_WP
src/plugins/wp/mcfg.mli: CEA_WP
src/plugins/wp/normAtLabels.ml: CEA_WP
src/plugins/wp/normAtLabels.mli: CEA_WP
src/plugins/wp/proof.ml: CEA_WP
src/plugins/wp/proof.mli: CEA_WP
src/plugins/wp/prover.ml: CEA_WP
src/plugins/wp/prover.mli: CEA_WP
src/plugins/wp/register.ml: CEA_WP
......@@ -1858,7 +1858,6 @@ src/plugins/wp/rformat.mll: CEA_WP
src/plugins/wp/script.mli: CEA_WP
src/plugins/wp/script.mll: CEA_WP
src/plugins/wp/share/.gitignore: .ignore
src/plugins/wp/share/Makefile.coqwp: CEA_WP
src/plugins/wp/share/Makefile.resources: CEA_WP
src/plugins/wp/share/coqwp/ArcTrigo.v: CEA_WP
src/plugins/wp/share/coqwp/Bits.v: CEA_WP
......@@ -1896,37 +1895,6 @@ src/plugins/wp/share/coqwp/real/Real.v: UNMODIFIED_WHY3
src/plugins/wp/share/coqwp/real/RealInfix.v: UNMODIFIED_WHY3
src/plugins/wp/share/coqwp/real/Square.v: UNMODIFIED_WHY3
src/plugins/wp/share/coqwp/real/Trigonometry.v: UNMODIFIED_WHY3
src/plugins/wp/share/ergo/ArcTrigo.mlw: CEA_WP
src/plugins/wp/share/ergo/Cbits.mlw: CEA_WP
src/plugins/wp/share/ergo/Cfloat.mlw: CEA_WP
src/plugins/wp/share/ergo/Cint.mlw: CEA_WP
src/plugins/wp/share/ergo/Cmath.mlw: CEA_WP
src/plugins/wp/share/ergo/ExpLog.mlw: CEA_WP
src/plugins/wp/share/ergo/Memory.mlw: CEA_WP
src/plugins/wp/share/ergo/Qed.mlw: CEA_WP
src/plugins/wp/share/ergo/Square.mlw: CEA_WP
src/plugins/wp/share/ergo/Vlist.mlw: CEA_WP
src/plugins/wp/share/ergo/Vset.mlw: CEA_WP
src/plugins/wp/share/ergo/bool.Bool.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/int.Abs.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/int.ComputerDivision.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/int.ComputerOfEuclideanDivision.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/int.Int.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/int.MinMax.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/map.Map.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/map.Const.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.Abs.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.ExpLog.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.Hyperbolic.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.FromInt.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.MinMax.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.Polar.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.PowerReal.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.Real.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.RealInfix.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.Square.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.Trigonometry.mlw: MODIFIED_WHY3
src/plugins/wp/share/ergo/real.Truncate.mlw: MODIFIED_WHY3
src/plugins/wp/share/install.ml: CEA_WP
src/plugins/wp/share/why3/frama_c_wp/cbits.mlw: CEA_WP
src/plugins/wp/share/why3/frama_c_wp/cfloat.mlw: CEA_WP
......
react@^16.8 react-dom source-map-support lodash react-virtualized react-draggable react-fast-compare codemirror
react@^16 react-dom@^16 source-map-support lodash react-virtualized react-draggable react-fast-compare codemirror
@babel/core@^7 @babel/preset-env @babel/preset-react @babel/plugin-proposal-object-rest-spread electron@^7 electron-builder electron-webpack electron-devtools-installer webpack babel-loader css-loader react-hot-loader @hot-loader/react-dom @types/react
@babel/core @babel/preset-env @babel/preset-react @babel/plugin-proposal-object-rest-spread electron@^16 electron-builder electron-webpack electron-devtools-installer webpack@^4 babel-loader css-loader@^5 react-hot-loader@^4 @hot-loader/react-dom@^16 @types/react@^16 @types/react-dom@^16 @types/react-virtualized@^9.21.0
......@@ -8,3 +8,4 @@ coverage
lib
# don't lint the generated API
api
......@@ -3,6 +3,7 @@ module.exports = {
parser: '@typescript-eslint/parser',
plugins: [
'@typescript-eslint',
'import',
],
extends: [
'airbnb-typescript',
......@@ -32,15 +33,13 @@ module.exports = {
"@typescript-eslint/no-explicit-any": "off",
// Allow functions without return type, even if exported function should have one
"@typescript-eslint/explicit-function-return-type": "off",
// Allow function hoisting, even if it should be avoided
"no-use-before-define": [
"error",
{ functions: false, classes: true, variables: true },
],
"@typescript-eslint/no-use-before-define": [
"error",
{ functions: false, classes: true, variables: true, typedefs: true },
],
// Allow function hoisting, even if it should be avoided"
"@typescript-eslint/lines-between-class-members": "off",
"@typescript-eslint/space-before-function-paren": "off",
"@typescript-eslint/naming-convention": "off",
"no-constant-condition": ["error", { "checkLoops": false }],
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": "off",
// Prefer const when _all_ destructured values may be const
"prefer-const": [
"error",
......@@ -51,7 +50,7 @@ module.exports = {
// Allow return statements even if not strictly needed
"no-useless-return": "off",
// Forbid shadowing concerning variables
"no-shadow": "error",
"no-shadow": "off",
// Force single class member per line
"lines-between-class-members": [
"error", "always", { "exceptAfterSingleLine": true }
......@@ -68,6 +67,8 @@ module.exports = {
"curly": "off",
// Do not specify position for single commands
"nonblock-statement-body-position": "off",
// Requires '+' to be applied on 2 numbers or 2 strings only
"@typescript-eslint/restrict-plus-operands": "error",
// Allow ++/-- operators only in for-loops
"no-plusplus": ["error", { "allowForLoopAfterthoughts": true }],
// Force code to 80 columns, but for trailing comments
......@@ -80,6 +81,8 @@ module.exports = {
"react/jsx-one-expression-per-line": "off",
// Allow property spreading since with aim at using TSC
"react/jsx-props-no-spreading": "off",
// Allow using functions in JSX props
"react/jsx-no-bind": "off",
// Allow all sorts of linebreaking for operators
"operator-linebreak": "off",
// Force curly brackets on newline if some item is
......
......@@ -13,5 +13,6 @@ yarn-error.log
/dist
/doc/html
/src/renderer/loader.ts
/src/dome/doc/guides/icons.md
# --------------------------------------------------------------------------
......@@ -107,40 +107,35 @@ api:
# --- Ivette Documentation
# --------------------------------------------------------------------------
.PHONY: icons
VERSION=$(shell echo "console.log(require('./package.json').version)" | node -)
DOC_ICONS_CSS= src/dome/doc/gallery.css
DOC_ICONS_MAKE= src/dome/doc/iconsmd.js
DOC_ICONS_GALLERY= src/dome/doc/guides/icons.md
DOC_ICONS_DATA= src/dome/renderer/controls/gallery.json
DOC_GUIDES= src/dome/doc/guides
NODEBIN= ./node_modules/.bin
doc: $(NODEBIN)/typedoc
DOCDIRS= src/ivette src/dome/renderer src/dome/utils src/frama-c/api
DOCFILES= src/frama-c/server.ts src/frama-c/states.ts $(shell find $(DOCDIRS) -name "*.ts" -or -name "*.tsx")
icons: $(DOC_ICONS_GALLERY)
$(DOC_ICONS_GALLERY): $(DOC_ICONS_MAKE) $(DOC_ICONS_DATA)
@rm -f $@
@node $(DOC_ICONS_MAKE) $(DOC_ICONS_DATA) > src/dome/doc/guides/icons.md
@chmod a-w $@
doc: $(NODEBIN)/typedoc icons
@echo "\n[Ivette] documentation"
@rm -fr doc/html
@yarn run typedoc
@mkdir -p doc/html/guides
@echo "\n[Ivette] guides"
@node $(DOC_ICONS_MAKE) $(DOC_ICONS_DATA) > doc/html/guides/icons.md
@cp $(DOC_ICONS_CSS) doc/html/assets/css/
@find $(DOC_GUIDES) -name "*.md" -exec cp -f {} doc/html/guides/ \;
@find doc/html/guides -name "*.md" -print -exec pandoc \
--standalone --toc --toc-depth=2 --to html \
--template doc/pandoc/template.html \
--metadata title="Ivette Documentation" \
--metadata version="v$(VERSION)" \
--metadata-file=doc/pandoc/index.json \
--lua-filter doc/pandoc/href.lua \
{} -o {}.html \; -delete
@yarn run typedoc $(DOCFILES)
@echo "\n[Ivette] main page"
@echo " file://$(PWD)/doc/html/index.html"
# For searching the doc
serve: $(NODEBIN)/serve
@echo "[Ivette] serve doc documentation"
@yarn run serve doc/html
$(NODEBIN)/%:
@echo "[Node] install package $*"
yarn add -D $*
......
......@@ -88,6 +88,7 @@ DISTRIB_FILES += ivette/src/dome/misc/register.js
DISTRIB_FILES += ivette/src/dome/misc/system.ts
DISTRIB_FILES += ivette/src/dome/misc/utils.ts
DISTRIB_FILES += ivette/src/dome/renderer/controls/buttons.tsx
DISTRIB_FILES += ivette/src/dome/renderer/controls/displays.tsx
DISTRIB_FILES += ivette/src/dome/renderer/controls/gallery.json
DISTRIB_FILES += ivette/src/dome/renderer/controls/icons.tsx
DISTRIB_FILES += ivette/src/dome/renderer/controls/labels.tsx
......@@ -148,6 +149,9 @@ DISTRIB_FILES += ivette/src/frama-c/api/generated/plugins/eva/general/index.ts
DISTRIB_FILES += ivette/src/frama-c/api/generated/plugins/eva/values/index.ts
DISTRIB_FILES += ivette/src/frama-c/api/generated/plugins/studia/studia/index.ts
DISTRIB_FILES += ivette/src/frama-c/api/generator.ml
DISTRIB_FILES += ivette/src/frama-c/client.ts
DISTRIB_FILES += ivette/src/frama-c/client_socket.ts
DISTRIB_FILES += ivette/src/frama-c/client_zmq.ts
DISTRIB_FILES += ivette/src/frama-c/index.tsx
DISTRIB_FILES += ivette/src/frama-c/kernel/ASTinfo.tsx
DISTRIB_FILES += ivette/src/frama-c/kernel/ASTview.tsx
......
## Ivette
Main entry points:
- [frama-c/server](modules/frama_c_server.html) Frama-C Server interaction (low level)
- [frama-c/states](modules/frama_c_states.html) high-level request management
## Command Line
The following options are recognized by `./bin/frama-c-gui`:
- `--cwd` working directory of Frama-C server
- `--command` path to Frama-C binary
- `--socket` ZeroMQ socket address of the server
The default working directory is the current one.
The default command is the local `bin/frama-c` of source installation.
The default socket is `ipc:///.frama-c.<pid>.io`.
## Dome Guides
- [Dome Framework](guides/dome.md.html)
- [Quick Start](guides/quickstart.md.html)
- [Live Editing](guides/hotreload.md.html)
- [Application Design](guides/application.md.html)
- [Application Development](guides/development.md.html)
- [Styling Components](guides/styling.md.html)
- [Custom Hooks](guides/hooks.md.html)
- [Icon Gallery](guides/icons.md.html)
- [Glossary](guides/glossary.md.html)
## Dome
- [Dome Framework](src/dome/doc/guides/dome.md)
- [Quick Start](src/dome/doc/guides/quickstart.md)
- [Live Editing](src/dome/doc/guides/hotreload.md)
- [Application Design](src/dome/doc/guides/guides/application.md)
- [Application Development](src/dome/doc/guides/development.md)
- [Styling Components](src/dome/doc/guides/styling.md)
- [Custom Hooks](src/dome/doc/guides/hooks.md)
- [Glossary](src/dome/doc/guides/glossary.md)
......@@ -88,6 +88,7 @@ src/dome/misc/register.js: CEA_LGPL
src/dome/misc/system.ts: CEA_LGPL
src/dome/misc/utils.ts: CEA_LGPL
src/dome/renderer/controls/buttons.tsx: CEA_LGPL
src/dome/renderer/controls/displays.tsx: CEA_LGPL
src/dome/renderer/controls/gallery.json: .ignore
src/dome/renderer/controls/icons.tsx: CEA_LGPL
src/dome/renderer/controls/labels.tsx: CEA_LGPL
......@@ -148,6 +149,9 @@ src/frama-c/api/generated/plugins/eva/general/index.ts: CEA_LGPL
src/frama-c/api/generated/plugins/eva/values/index.ts: CEA_LGPL
src/frama-c/api/generated/plugins/studia/studia/index.ts: CEA_LGPL
src/frama-c/api/generator.ml: .ignore
src/frama-c/client.ts: CEA_LGPL
src/frama-c/client_socket.ts: CEA_LGPL
src/frama-c/client_zmq.ts: CEA_LGPL
src/frama-c/index.tsx: CEA_LGPL
src/frama-c/kernel/ASTinfo.tsx: CEA_LGPL
src/frama-c/kernel/ASTview.tsx: CEA_LGPL
......
#!/bin/sh
case "$1" in
Makefile.distrib | *.json | src/dome/doc/* | *.eslintrc.js )
Makefile.distrib | *.json | src/dome/doc/* | */.eslintrc.js )
echo "$1: .ignore"
;;
*Make* | src/*/*.js* | src/*/*.ts* )
......
......@@ -12,72 +12,73 @@
"build": "tsc"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.9.0",
"@babel/plugin-transform-runtime": "^7.9.0",
"@babel/preset-env": "^7.9.0",
"@babel/preset-react": "^7.9.4",
"@babel/preset-typescript": "^7.9.0",
"@hot-loader/react-dom": "^16.13.0",
"@types/codemirror": "^0.0.97",
"@types/cytoscape": "^3.14.5",
"@types/lodash": "^4.14.149",
"@types/node": "12.12.21",
"@types/react": "^16.9.17",
"@types/react-dom": "^16.9.6",
"@types/react-virtualized": "^9.21.10",
"@typescript-eslint/eslint-plugin": "^2.28.0",
"@typescript-eslint/parser": "^2.28.0",
"babel-loader": "^8.0.6",
"css-loader": "^3.4.0",
"electron": "^7",
"electron-builder": "^22.4.1",
"electron-devtools-installer": "^3.0.0",
"@babel/cli": "",
"@babel/core": "^7.16.0",
"@babel/plugin-proposal-class-properties": "",
"@babel/plugin-proposal-object-rest-spread": "^7.16.0",
"@babel/plugin-transform-runtime": "",
"@babel/preset-env": "^7.16.4",
"@babel/preset-react": "^7.16.0",
"@babel/preset-typescript": "",
"@hot-loader/react-dom": "^16",
"@types/codemirror": "",
"@types/cytoscape": "",
"@types/estree": "^0.0.50",
"@types/lodash": "",
"@types/node": "",
"@types/react": "^16",
"@types/react-dom": "^16",
"@types/react-virtualized": "^9.21.0",
"@types/zeromq": "^5.2.1",
"@typescript-eslint/eslint-plugin": "",
"@typescript-eslint/parser": "",
"babel-loader": "^8.2.3",
"css-loader": "^5",
"electron": "^16",
"electron-devtools-installer": "^3.2.0",
"electron-webpack": "^2.8.2",
"eslint": "^6.8.0",
"eslint-config-airbnb": "^18.1.0",
"eslint-config-airbnb-typescript": "^7.2.1",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-jsx-a11y": "^6.3.0",
"eslint-plugin-react": "^7.19.0",
"eslint-plugin-react-hooks": "^3.0.0",
"html-loader": "1.0.0-alpha.0",
"jsdoc": "^3.6.3",
"react-hot-loader": "^4.12.20",
"serve": "^11.3.0",
"typedoc": "^0.17.8",
"typedoc-plugin-external-module-name": "^3.1.0",
"typescript": "^3.8.3",
"webpack": "^4.41.4"
"eslint": "",
"eslint-config-airbnb": "",
"eslint-config-airbnb-typescript": "",
"eslint-plugin-import": "",
"eslint-plugin-jsx-a11y": "",
"eslint-plugin-react": "",
"eslint-plugin-react-hooks": "",
"html-loader": "^1",
"jsdoc": "",
"react-hot-loader": "^4",
"serve": "",
"typedoc": "",
"typescript": "",
"webpack": "^4"
},
"dependencies": {
"@babel/runtime": "^7.9.2",
"@fortawesome/fontawesome-free": "^5.13.1",
"@types/diff": "^4.0.2",
"@types/react-window": "^1.8.2",
"codemirror": "^5.52.2",
"cytoscape": "^3.15.1",
"cytoscape-cola": "^2.3.1",
"cytoscape-cose-bilkent": "^4.1.0",
"cytoscape-cxtmenu": "^3.1.2",
"cytoscape-dagre": "^2.2.2",
"cytoscape-klay": "^3.1.3",
"cytoscape-panzoom": "^2.5.3",
"cytoscape-popper": "^1.0.7",
"diff": "^5.0.0",
"immutable": "^4.0.0-rc.12",
"lodash": "^4.17.15",
"react": "^16.8",
"react-cytoscapejs": "^1.2.1",
"react-dom": "^16.13.1",
"react-draggable": "^4.2.0",
"@babel/runtime": "",
"@fortawesome/fontawesome-free": "",
"@types/diff": "",
"@types/react-window": "",
"codemirror": "^5.64.0",
"cytoscape": "",
"cytoscape-cola": "",
"cytoscape-cose-bilkent": "",
"cytoscape-cxtmenu": "",
"cytoscape-dagre": "",
"cytoscape-klay": "",
"cytoscape-panzoom": "",
"cytoscape-popper": "",
"diff": "",
"electron-builder": "^22.14.5",
"immutable": "",
"lodash": "^4.17.21",
"react": "^16",
"react-cytoscapejs": "",
"react-dom": "^16",
"react-draggable": "^4.4.4",
"react-fast-compare": "^3.2.0",
"react-virtualized": "^9.21.2",
"react-window": "^1.8.6",
"source-map-support": "^0.5.16",
"tippy.js": "5.2.1",
"zeromq": "^6.0.0-beta.5"
"react-virtualized": "^9.22.3",
"react-window": "",
"source-map-support": "^0.5.21",
"tippy.js": "",
"zeromq": "^5.2.8"
}
}
......@@ -21,16 +21,15 @@ for ( var name in icons ) {
index.sort();
if (sections["Others"]) index.push("Others");
console.log( '---' );
console.log( 'subtitle: Icons Gallery' );
console.log( '---' );
console.log();
// --- Gallery (per section) -----------------------------------------
for ( var s = 0 ; s < index.length ; s++ ) {
const section = index[s] ;
console.log( `## ${section} {#SECTION.${section}}` );
console.log( '<hr/>' );
console.log();
console.log( `## ${section}` );
console.log();
console.log( ` <div class="database">` );
......