mirror of
https://github.com/ganelson/inform.git
synced 2024-07-01 06:24:58 +03:00
Fix for Mantis bug 1862
This commit is contained in:
parent
90b586d64f
commit
db121fffcb
|
@ -1,6 +1,6 @@
|
|||
Total memory consumption was 126309K = 123 MB
|
||||
|
||||
---- was used for 2008037 objects, in 360812 frames in 0 x 800K = 0K = 0 MB:
|
||||
---- was used for 2008042 objects, in 360817 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
32.3% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
18.9% text_stream_array 4342 x 100 = 434200 objects, 24454144 bytes
|
||||
|
@ -26,8 +26,8 @@ Total memory consumption was 126309K = 123 MB
|
|||
0.8% id_body 941 objects, 1076504 bytes
|
||||
0.7% adjective_meaning 202 objects, 1000304 bytes
|
||||
0.7% excerpt_meaning 3100 objects, 967200 bytes
|
||||
0.6% production 3876 objects, 899232 bytes
|
||||
0.6% ptoken 8393 objects, 872872 bytes
|
||||
0.6% production 3877 objects, 899464 bytes
|
||||
0.6% ptoken 8397 objects, 873288 bytes
|
||||
0.6% grammatical_usage 3611 objects, 866640 bytes
|
||||
0.6% individual_form 2561 objects, 860496 bytes
|
||||
0.6% inter_schema_node 8896 objects, 854016 bytes
|
||||
|
@ -255,5 +255,5 @@ Total memory consumption was 126309K = 123 MB
|
|||
---- code generation workspace for objects 1336 bytes in 4 claims
|
||||
0.2% emitter array storage 279776 bytes in 1995 claims
|
||||
|
||||
-140.-5% was overhead - -181851424 bytes = -177589K = -173 MB
|
||||
-140.-5% was overhead - -181852072 bytes = -177589K = -173 MB
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
100.0% in inform7 run
|
||||
68.1% in compilation to Inter
|
||||
47.6% in //Sequence::undertake_queued_tasks//
|
||||
68.2% in compilation to Inter
|
||||
47.9% in //Sequence::undertake_queued_tasks//
|
||||
4.6% in //MajorNodes::pre_pass//
|
||||
3.3% in //MajorNodes::pass_1//
|
||||
3.2% in //MajorNodes::pass_1//
|
||||
2.3% in //RTPhrasebook::compile_entries//
|
||||
1.9% in //ImperativeDefinitions::assess_all//
|
||||
1.8% in //ImperativeDefinitions::assess_all//
|
||||
1.5% in //RTKindConstructors::compile//
|
||||
1.0% in //Sequence::lint_inter//
|
||||
0.5% in //MajorNodes::pass_2//
|
||||
|
@ -18,15 +18,15 @@
|
|||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //Understand::traverse//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
2.0% not specifically accounted for
|
||||
29.2% in running Inter pipeline
|
||||
2.1% not specifically accounted for
|
||||
29.1% in running Inter pipeline
|
||||
10.2% in step 14/15: generate inform6 -> auto.inf
|
||||
7.6% in step 5/15: load-binary-kits
|
||||
7.5% in step 5/15: load-binary-kits
|
||||
6.7% in step 6/15: make-synoptic-module
|
||||
1.6% in step 9/15: make-identifiers-unique
|
||||
1.5% in step 9/15: make-identifiers-unique
|
||||
0.4% in step 12/15: eliminate-redundant-operations
|
||||
0.4% in step 4/15: compile-splats
|
||||
0.3% in step 7/15: shorten-wiring
|
||||
0.4% in step 7/15: shorten-wiring
|
||||
0.3% in step 8/15: detect-indirect-calls
|
||||
0.2% in step 11/15: eliminate-redundant-labels
|
||||
0.1% in step 10/15: reconcile-verbs
|
||||
|
|
File diff suppressed because it is too large
Load diff
5
inform7/Tests/Test Problems/PM_TopicText.txt
Normal file
5
inform7/Tests/Test Problems/PM_TopicText.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Kitchen is a room.
|
||||
|
||||
Table of Inventory
|
||||
topic (text)
|
||||
"x"
|
14
inform7/Tests/Test Problems/_Results_Ideal/PM_TopicText.txt
Normal file
14
inform7/Tests/Test Problems/_Results_Ideal/PM_TopicText.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
Inform 7 v10.1.0 has started.
|
||||
I've now read your source text, which is 10 words long.
|
||||
I've also read Basic Inform by Graham Nelson, which is 7691 words long.
|
||||
I've also read English Language by Graham Nelson, which is 2328 words long.
|
||||
I've also read Standard Rules by Graham Nelson, which is 32092 words long.
|
||||
Problem__ PM_TopicText
|
||||
>--> In 'Table of Inventory' (source text, line 3), the column name 'topic'
|
||||
is not allowed to have a clarifying kind in brackets after it. Just say
|
||||
'topic' and leave it at that.
|
||||
Problem__ PM_TableRowFull
|
||||
>--> In row 1 of the table 'Table of Inventory' (source text, line 3), the
|
||||
entry '"x"' (source text, line 5) won't fit, because its row is already
|
||||
full. (This entry would be in column 1 and the table has only 0.)
|
||||
Inform 7 has finished.
|
|
@ -183,6 +183,7 @@ what looks like text into grammar for parsing.
|
|||
=
|
||||
<table-column-heading> ::=
|
||||
( *** ) | ==> @<Issue PM_TableColumnBracketed problem@>
|
||||
topic ( ... ) | ==> @<Issue PM_TopicText problem@>
|
||||
<s-table-column-name> ( {...} ) | ==> { EXISTING_TC, RP[1] }
|
||||
<table-column-heading-bare> ( {...} ) | ==> { (R[1] == NEW_TC_PROBLEM)?R[1]:NEW_TC, - }
|
||||
<s-table-column-name> | ==> { EXISTING_TC_WITHOUT_KIND, RP[1] }
|
||||
|
@ -211,6 +212,13 @@ what looks like text into grammar for parsing.
|
|||
"something else.");
|
||||
==> { NEW_TC_PROBLEM, - };
|
||||
|
||||
@<Issue PM_TopicText problem@> =
|
||||
StandardProblems::table_problem(_p_(PM_TopicText),
|
||||
table_being_examined, NULL, table_cell_node,
|
||||
"In %1, the column name 'topic' is not allowed to have a clarifying kind "
|
||||
"in brackets after it. Just say 'topic' and leave it at that.");
|
||||
==> { NEW_TC_PROBLEM, - };
|
||||
|
||||
@<Issue PM_TableColumnBracketed problem@> =
|
||||
StandardProblems::table_problem(_p_(PM_TableColumnBracketed),
|
||||
table_being_examined, NULL, table_cell_node,
|
||||
|
|
|
@ -200,10 +200,12 @@ at runtime, which extends the range of promotions we can make.
|
|||
=
|
||||
parse_node *CompileValues::cast_nonconstant(parse_node *value, kind *K_wanted,
|
||||
int *down) {
|
||||
value = CompileValues::cast_constant(value, K_wanted);
|
||||
kind *K_found = Specifications::to_kind(value);
|
||||
CompileValues::note_that_kind_is_used(K_found);
|
||||
EmitCode::casting_call(K_found, K_wanted, down);
|
||||
if (Node::is(value, TABLE_ENTRY_NT) == FALSE) {
|
||||
value = CompileValues::cast_constant(value, K_wanted);
|
||||
kind *K_found = Specifications::to_kind(value);
|
||||
CompileValues::note_that_kind_is_used(K_found);
|
||||
EmitCode::casting_call(K_found, K_wanted, down);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue