Improved emulator results
Improved emulator results
Version 2
Version 2
In[]:=
ReduceExpressionStep[token_String][exp_String]:=With[{NumberPattern=RegularExpression["(\\d+\\.\\d+)|(\\d+\\.)|(\\.\\d+)|(\\d+)"],StringPattern=RegularExpression["\"[^\"]\""],SymbolPattern=RegularExpression["[[:alpha:]]+"],HeadedPattern="$[]",SequencePattern=RegularExpression["\\[(\\$,)*\\$\\]"]},StringReplace[StringDelete[exp,Whitespace],{NumberPattern->token,StringPattern->token,SymbolPattern->token,HeadedPattern->token,SequencePattern->"[]"}]];ReduceExpression[token_String][exp_String]:=FixedPoint[ReduceExpressionStep[token],exp];IsExpression[exp_String]:="$"==ReduceExpression["$"][exp]
Definitions
Definitions
In[]:=
dirtest@nval_Integer:=Module[{allchars,q0,q1,q2},allchars={"s","[","]"};q0=StringJoin/@Tuples[allchars,nval];q1=Grid[Transpose@{Range@Length@q0,q0,IsExpression/@q0,SyntaxQ/@q0},Frame->All,AlignmentLeft];q1/.{a_,b_,c_,True}:>{a,b,c,True,FullForm@ToExpression@b}]
In[]:=
discreps@nval_Integer:=Module[{q1,q2,q3},q1=(dirtest@nval)[[1]];q2=Cases[q1,{___,True,False,___}];q3=Cases[q1,{___,False,True,___}];Grid[Union[q2,q3],Frame->All,AlignmentLeft]]
Results
Results
In[]:=
Grid[Transpose@{Range@6,discreps/@Range@6},Frame->All,AlignmentLeft]
Out[]=
1 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 |
|
