• R/O
  • SSH

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision5f1b122c9ce7e2bd0d1c5de272477a26f9f4c24d (tree)
Time2022-10-24 05:47:01
AuthorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

asis

Change Summary

Incremental Difference

diff -r 55d41160fc9f -r 5f1b122c9ce7 CCastle/1.Usage/9.WorkshopTools.rst
--- a/CCastle/1.Usage/9.WorkshopTools.rst Sun Oct 23 22:34:10 2022 +0200
+++ b/CCastle/1.Usage/9.WorkshopTools.rst Sun Oct 23 22:47:01 2022 +0200
@@ -7,7 +7,7 @@
77 ==============
88
99
10-.. post::
10+.. post::
1111 :category: Castle, Usage,
1212 :tags: Castle, Tools, DRAFT
1313
@@ -18,8 +18,7 @@
1818 Probably you have many questions about the software. About its `metrics
1919 <https://en.wikipedia.org/wiki/Software_metric>`__: like the `Fan-Out
2020 <https://en.wikipedia.org/wiki/Fan-out_(software)>`__ of a given class or its `Cyclomatic-Complexity
21- <https://en.wikipedia.org/wiki/Cyclomatic_complexity>`__. Or merely like to know which components are connected.
22- |BR|
21+ <https://en.wikipedia.org/wiki/Cyclomatic_complexity>`__. Or merely like to k
2322 Often this isn’t too complicated. But the amount of error-prone work is dramatic. Castle comes with tools that
2423 provide the answer.
2524
@@ -27,19 +26,59 @@
2726 Classic tools are not sufficient
2827 ================================
2928
30-Most languages come with a compiler_ and optional a debugger_. The compiler_ (and its companions: linker, loader)
29+Most languages come with a compiler_ and, optional a debugger_. The compiler_ (and its companions: linker, loader)
3130 translate files with source code into *computer code*; often called the “binaries”. Nowadays, an “optimiser_” is usually
3231 build-in to unburden the developer from details that make the code more efficient. So that (s)he can make code readable
33-and maintainable. For example, by employing extra local, well-named variables that do not result in more memory use;
34-the use of convenient loops, which are unrolled automatically, etc. Originally, the intent was to optimise binaries;
35-but they help to improve the source for developers too.
32+and maintainable. For example, by defining extra, well-named variables that do not result in more memory use;
33+the use of convenient loops, which are unrolled automatically, etc.
3634 |BR|
35+Originally, the intent was to optimise binaries; but they help to improve the source for developers too.
36+
3737 The second well-known tool is the “source-level debugger_\”. It understands the binary and can correlate that with the
38-source code -- which isn’t trivial, especially not due to the optimiser_. It is an awesome tool when there is a bug in
38+source code -- which isn’t trivial, especially due to the optimiser_. It is an awesome tool when there is a bug in
3939 the code; as the developer can step “line by line” through the source code, examine in-between results, and even change
40-some parameters on the fly. Once this was the only way to improve code. In the present day, we have other instruments
41-too; like Test-Driven-Development to prevent the nastiest flows in the first place.
40+some parameters on the fly.
41+|BR|
42+Once this was the only way to improve code. In the present day, we have other instruments too; like
43+Test-Driven-Development to prevent the nastiest flows in the first place.
4244
45+|BR|
46+-----
47+
48+TODO
49+====
50+
51+* Explore
52+
53+ - Simulate
54+
55+ - https://dezyne.org/dezyne/manual/dezyne/html_node/Invoking-dzn-simulate.html
56+
57+ - Vizualize (show)
58+
59+
60+* Verification & Validation (https://en.wikipedia.org/wiki/Software_verification_and_validation)
61+
62+ - https://dezyne.org/dezyne/manual/dezyne/html_node/Invoking-dzn-verify.html
63+
64+* Trace, Debug, Log/Monitor
65+
66+* Query/Metrics (https://en.wikipedia.org/wiki/Software_metric)
67+
68+ - Cyclomatic_complexity https://en.wikipedia.org/wiki/Cyclomatic_complexity
69+
70+ - ? Fan-In/Out https://en.wikipedia.org/wiki/Fan-out_(software), UncleBob
71+
72+
73+
74+
75+
76+----------
77+
78+.. rubric:: Footnotes
79+
80+.. [#XXXX]
81+ XXXX
4382
4483 .. _Software_metric: https://en.wikipedia.org/wiki/Software_metric
4584 .. _Fan-Out: https://en.wikipedia.org/wiki/Fan-out_(software)
diff -r 55d41160fc9f -r 5f1b122c9ce7 CCastle/short/pegen_parser.rst
--- a/CCastle/short/pegen_parser.rst Sun Oct 23 22:34:10 2022 +0200
+++ b/CCastle/short/pegen_parser.rst Sun Oct 23 22:47:01 2022 +0200
@@ -32,9 +32,9 @@
3232 The lexer will recognize some tokes that are specialy for python, like `INDENT` & `DEDENT`. Also some generic tokens
3333 like NAME (which is an ID) and `NUMBER` are know, and can be used to define the language.
3434
35-Unfortunally, it will also find some tokens --typical operators-- that *hardcoded* for python. By we like to use
36-differently. Possible combined with other characters. Then, those will not be found; not the literal-strings as set in
37-the grammar.
35+Unfortunally, it will also find some tokens --typical operators-- that *hardcoded* for python. Even when we like to use
36+them differently; possible combined with other characters. Then, those will not be found; not the literal-strings as set
37+in the grammar.
3838
3939 .. warning::
4040
@@ -43,13 +43,13 @@
4343 Left_arrow_BAD: '<-' ## This is WRONG, as ``<`` is sees as a token
4444 Left_arrow_OKE: '<' '-' ## This is acceptable
4545
46-.. seealso:: https://docs.python.org/3/library/token.html
47-
46+.. seealso:: https://docs.python.org/3/library/token.html for an overiew of the predefied tokens
47+
4848 .. tip::
4949
50- A quick trick to see how a file is split in tokens, use ``python -m tokenize [-e] filename.peg``.
50+ A quick trick to see how a file is split into tokens, use ``python -m tokenize [-e] filename.peg``.
5151 |BR|
52- And make sure you do not use string-literals that (eg) are composed of two tokens.
52+ Make sure you do not use string-literals that (eg) are composed of two tokens.
5353
5454
5555