Fedor Isakov
837f7303a8
Fix test language broken after refactoring
2022-06-18 15:56:54 +02:00
Fedor Isakov
186c7b6a28
Fix auto-recovery of types with expect/assign/recover pseudo-constraints
2022-06-18 12:53:14 +02:00
Fedor Isakov
dd0b9b2842
Intention to convert term table to types term table
2022-06-18 12:53:14 +02:00
Fedor Isakov
77eb3f30c7
Implement a missing BH method
2022-06-13 11:11:57 +02:00
Fedor Isakov
b46373701f
WIP Reorganizing code
2022-06-08 10:23:43 +02:00
Fedor Isakov
88aaf7898c
Ensure only relevant aspects selected for certain queries
...
While check/checkTypeOf queries are required to
process a whole root, other types of queries
can be sensitive to what aspects to include in
the processing.
Aspects are sorted in strongly-connected components,
among which the relevant one is selected.
2022-06-06 13:00:52 +02:00
Fedor Isakov
585f8f57f5
Switch to generating FQ names for constraint symbols
2022-05-26 12:52:25 +02:00
Fedor Isakov
c112a59116
Switch to collection of QueryTemplate instead of single instance
...
The deisgn decision to have only one instance of QueryTemplate
leads to the necessity to keep AspectClique separated for
every "typesystem". Whereas QueryTemplate are really perfectly
composable, and thus only one AspectClique is neeeded.
Also drop a rudimentary unused feature.
2022-05-26 09:58:31 +02:00
Fedor Isakov
874a2a4b4e
Ensure rule tags have unique group name
2022-05-25 13:49:11 +02:00
Fedor Isakov
b6c190c35c
Introduce ruleInput parameter to call macro
...
Accessing the rule input allows to track dependencies
necessary for correctly updating the feedback.
2022-05-09 17:02:12 +02:00
Fedor Isakov
ddce418ba4
Ensure new list is initialized when recovering
2022-05-03 10:26:43 +02:00
Fedor Isakov
bd249c5d0c
Drop obsolete feature: incremental specification
2022-04-21 16:05:31 +02:00
Fedor Isakov
1d54b8ffeb
Fix NPE on first update of empty rules query
2022-02-17 17:05:41 +01:00
Fedor Isakov
98fef4c95d
Fix NPE on newRules array being empty
2022-02-15 10:35:53 +01:00
Fedor Isakov
d8a180bfe2
Test list feature recovery
2022-02-08 10:09:40 +01:00
Fedor Isakov
2f34591b0b
Support list feature in recovery
2022-02-08 10:09:40 +01:00
Fedor Isakov
2e5d73b31e
Add icons for typechecking roots and the aspect
2021-11-25 18:09:22 +01:00
Fedor Isakov
d7f54a35fb
Minor editor fixes
2021-11-25 12:07:43 +01:00
Fedor Isakov
2d48fb57f2
Fix editor: ensure correct constraints in head/guard/body
2021-11-25 12:07:43 +01:00
Fedor Isakov
c27cafdf30
Fix editor: support changing isFree <-> isNonfree
2021-11-24 16:22:17 +01:00
Fedor Isakov
4e70300ea7
Update language imports
2021-11-24 16:22:17 +01:00
Fedor Isakov
d0d44b98c5
Minor editor fixes
2021-11-24 16:22:17 +01:00
Fedor Isakov
690e8e919c
Fix editor: caret position and first argument to constraint
2021-11-24 16:22:17 +01:00
Fedor Isakov
9b59925e4f
Fix editor: editable=false for keywords, focus attraction
2021-11-24 16:22:17 +01:00
Fedor Isakov
c5f2902cd6
Drop background color from backquote
2021-11-16 12:04:32 +01:00
Fedor Isakov
9b8946ce67
Support recovering of children features in typechecking term table
2021-11-15 13:00:03 +01:00
Fedor Isakov
8f4dd4a1c1
Fix the order of synthetic recover rules
2021-11-12 13:25:47 +01:00
Fedor Isakov
365883a099
Fix broken representation of terms with specification
2021-10-27 12:03:49 +02:00
Fedor Isakov
cf04a60cc9
Minor improvements in displaying terms and activation trace
2021-10-26 17:46:41 +02:00
Fedor Isakov
257bc196c3
Re-save all models
2021-10-26 17:46:40 +02:00
Fedor Isakov
8dbf94c7da
Fix broken withParam() invocation of query template
2021-10-14 18:28:43 +02:00
Fedor Isakov
f3c12ec4af
Fix missing dependency
2021-09-23 15:16:17 +02:00
Fedor Isakov
2d52921561
Fix and optimize dependencies
2021-09-22 17:08:25 +02:00
Fedor Isakov
177e55820e
Move label definition to the language that uses it
2021-09-22 17:08:25 +02:00
Fedor Isakov
0840e5ecfb
Replace quotation with "node builder" to satisfy generator
2021-09-22 17:08:25 +02:00
Fedor Isakov
17c2c73aeb
Minor code cleanup
2021-09-22 17:08:25 +02:00
Fedor Isakov
ae2492ab57
Update types aspect of the test language
2021-09-21 17:54:51 +02:00
Fedor Isakov
ac89cbb3b6
New features in typechecking lang to facilitate working with types
...
Introduce TypeTermTable as an alternative to TermTable dedicated to
types. A "type term" declaration has a type builder: an expression
which creates the corresponding SNode.
To access term's features on can use FeatureReferenceExpression.
The new _ExpectType_ _RecoverType_ rule tables are automatically added
to the user's 'types' aspect and serve to extract types from types.
AssignType and RecoverType pseudo-constraints can be used to
extract/assign or just extract the type, correspondingly.
2021-09-21 17:54:51 +02:00
Fedor Isakov
b122872890
Refactor Result to be able to clear the cause
2021-09-21 17:54:51 +02:00
Fedor Isakov
3f606ba63c
Refactor the way parameters are passed to expand macro
...
Instead of the hack that that uses session parameters to pass
parameters to expandMacro, use directly `withParams` method
on macro token. All parameters are mapped to corresponding fields.
Introduce CustomSessionParameter to access parameters in
TemplateApplicationSession.
2021-09-21 17:54:51 +02:00
Fedor Isakov
21cbd6e926
Simplify a generator template query
2021-09-21 17:54:51 +02:00
Fedor Isakov
42d9970172
Extend ValueFeature with type, deprecate getter
2021-09-21 17:54:50 +02:00
Fedor Isakov
f96211273c
Drop hack for finding refs in LateParameter, switch to internal var ref
2021-08-17 09:30:49 +02:00
Fedor Isakov
5bd41f1098
Introduce typechecking term table
2021-08-17 09:30:35 +02:00
Fedor Isakov
c6453b7293
Introduce hack for finding refs in LateParameter
2021-08-17 09:29:57 +02:00
Fedor Isakov
6b0526ba31
Introduce language j.m.l.types to contain aspect-related generator mappings
2021-08-17 09:29:21 +02:00
Fedor Isakov
837be3fe64
Fix reference to query classifier to be a node, initialize TypecheckingQueries
2021-08-04 13:24:59 +02:00
Fedor Isakov
4b64377ac6
Introduce dsl constructs for typechecking queries
...
A root TypecheckingQueries is to replace the generic Queries
from j.m.lang.coderules.
2021-07-29 12:46:57 +02:00
Fedor Isakov
4f22a7959d
Fix LateExpression generator: avoid interfering with other gen templates
2021-07-29 12:46:57 +02:00
Fedor Isakov
4d06adf85b
Rename isAssigned to isNonfree for consistency
2021-07-22 15:46:21 +02:00