Skip to content

Commit

Permalink
elt : exception handler (e.g. unresolved reference)
Browse files Browse the repository at this point in the history
  • Loading branch information
arakov committed Mar 24, 2024
1 parent adea6d3 commit 0eac950
Show file tree
Hide file tree
Showing 18 changed files with 324 additions and 63 deletions.
3 changes: 2 additions & 1 deletion bin/elt60.es
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
#set preloaded preloadedSymbols

#postfix " ^ ""safeEval[1]"" "
#start;

#terminal
]]
2 changes: 1 addition & 1 deletion bin/scripts/grammar60.es
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@

#define object ::=
<=
system'dynamic'expressions'SymbolExpression (
system'dynamic'expressions'LazySymbolExpression (
=>
"reference" "=" ref_quote
<=
Expand Down
39 changes: 24 additions & 15 deletions doc/api/system-dynamic-expressions-summary.html
Original file line number Diff line number Diff line change
Expand Up @@ -242,14 +242,23 @@ <H1>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#LazySymbolExpression">LazySymbolExpression</A>
</TD>
<TD CLASS="colLast">
<DIV CLASS="block">
public class <SPAN CLASS="typeNameLabel">LazySymbolExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#LoopExpression">LoopExpression</A>
</TD>
<TD CLASS="colLast">
<DIV CLASS="block">
public class <SPAN CLASS="typeNameLabel">LoopExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#MessageCallExpression">MessageCallExpression</A>
</TD>
Expand All @@ -258,7 +267,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">MessageCallExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#MethodExpression">MethodExpression</A>
</TD>
Expand All @@ -267,7 +276,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">MethodExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#MethodParameterList">MethodParameterList</A>
</TD>
Expand All @@ -276,7 +285,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">MethodParameterList</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#NestedExpression">NestedExpression</A>
</TD>
Expand All @@ -285,7 +294,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">NestedExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#NewExpression">NewExpression</A>
</TD>
Expand All @@ -294,7 +303,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">NewExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#ReturnExpression">ReturnExpression</A>
</TD>
Expand All @@ -303,7 +312,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">ReturnExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#RootExpressionScope">RootExpressionScope</A>
</TD>
Expand All @@ -312,7 +321,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">RootExpressionScope</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#ScopeIdentifier">ScopeIdentifier</A>
</TD>
Expand All @@ -321,7 +330,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">ScopeIdentifier</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#SetDynamicPropertyExpression">SetDynamicPropertyExpression</A>
</TD>
Expand All @@ -330,7 +339,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">SetDynamicPropertyExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#SetPropertyExpression">SetPropertyExpression</A>
</TD>
Expand All @@ -339,7 +348,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">SetPropertyExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#SymbolCollection">SymbolCollection</A>
</TD>
Expand All @@ -348,7 +357,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">SymbolCollection</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#SymbolExpression">SymbolExpression</A>
</TD>
Expand All @@ -357,7 +366,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">SymbolExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#SymbolInfo">SymbolInfo</A>
</TD>
Expand All @@ -366,7 +375,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">SymbolInfo</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#VariableByIndexExpression">VariableByIndexExpression</A>
</TD>
Expand All @@ -375,7 +384,7 @@ <H1>
public class <SPAN CLASS="typeNameLabel">VariableByIndexExpression</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-dynamic-expressions.html#VariableExpression">VariableExpression</A>
</TD>
Expand Down
134 changes: 134 additions & 0 deletions doc/api/system-dynamic-expressions.html
Original file line number Diff line number Diff line change
Expand Up @@ -3263,6 +3263,140 @@ <H3>Constructor / Static Method Summary</H3>
</UL>
<HR>
</DIV>
<A NAME="LazySymbolExpression">
</A>
<!-- ======== START OF CLASS DATA ======== -->
<DIV CLASS="header">
<DIV CLASS="subTitle">
system'dynamic'expressions'</DIV>
<H2 title="LazySymbolExpression" class="title">LazySymbolExpression</H2>
</DIV>
<DIV CLASS="contentContainer">
<DIV CLASS="description">
<BR>
<HR>
<PRE STYLE="padding-top: 15px;">
public class <SPAN CLASS="typeNameLabel">LazySymbolExpression</SPAN></PRE>
<BR>
</DIV>
<UL CLASS="inheritance">
<LI>
<SPAN CLASS="memberNameLink"><A HREF="system.html#Object">system'Object</A></SPAN></LI>
<LI>
<UL CLASS="inheritance">
<LI>
<SPAN CLASS="memberNameLink"><A HREF="-expressions.html#Expression">'expressions'Expression</A></SPAN></LI>
<LI>
<UL CLASS="inheritance">
<LI>
system'dynamic'expressions'LazySymbolExpression</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
<!-- ========== FIELD SUMMARY =========== -->
<UL CLASS="blockList">
<LI CLASS="blockList">
<H3>Field Summary</H3>
<TABLE CLASS="memberSummary" BORDER="0" CELLPADDING="3" CELLSPACING="0">
<TR>
<TH CLASS="colFirst" scope="col">Modifier and Type</TH>
<TH CLASS="colLast" scope="col">Field</TH>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<CODE>
<SPAN CLASS="memberNameLink"><A HREF="system.html#String">String</A></SPAN></CODE></TD>
<TD CLASS="colLast">
<CODE>symbolReference</CODE>
</TD>
</TR>
</TABLE>
</LI>
</UL>
<!-- ========== CONSTRUCTOR SUMMARY =========== -->
<UL CLASS="blockList">
<LI CLASS="blockList">
<H3>Constructor / Static Method Summary</H3>
<TABLE CLASS="memberSummary" BORDER="0" CELLPADDING="3" CELLSPACING="0">
<TR>
<TH CLASS="colFirst" scope="col">Modifier and Type</TH>
<TH CLASS="colLast" scope="col">Constructor / Static Method</TH>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<CODE>
<SPAN CLASS="memberNameLink"><A HREF="system-dynamic-expressions.html#LazySymbolExpression">LazySymbolExpression</A></SPAN></CODE></TD>
<TD CLASS="colLast">
<CODE><i>constructor</i>(<SPAN CLASS="memberNameLink"><A HREF="system.html#String">String</A></SPAN> s)
</CODE>
</TD>
</TR>
</TABLE>
</LI>
</UL>
<!-- ========== PROPERTY SUMMARY =========== -->
<UL CLASS="blockList">
<LI CLASS="blockList">
<H3>Property Summary</H3>
<TABLE CLASS="memberSummary" BORDER="0" CELLPADDING="3" CELLSPACING="0">
<TR>
<TH CLASS="colFirst" scope="col">Modifier and Type</TH>
<TH CLASS="colLast" scope="col">Property</TH>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<CODE>
<i>get </i>&nbsp;<SPAN CLASS="memberNameLink"><A HREF="system.html#BoolValue">BoolValue</A></SPAN></CODE></TD>
<TD CLASS="colLast">
<CODE>IsOperation()</CODE>
</TD>
</TR>
</TABLE>
</LI>
</UL>
<!-- ========== METHOD SUMMARY =========== -->
<UL CLASS="blockList">
<LI CLASS="blockList">
<H3>Method Summary</H3>
<TABLE CLASS="memberSummary" BORDER="0" CELLPADDING="3" CELLSPACING="0">
<TR>
<TH CLASS="colFirst" scope="col">Modifier and Type</TH>
<TH CLASS="colLast" scope="col">Method</TH>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<CODE>
</CODE></TD>
<TD CLASS="colLast">
<CODE>declare(<SPAN CLASS="memberNameLink"><A HREF="system-dynamic-expressions.html#ExpressionScope">ExpressionScope</A></SPAN> parentScope)
</CODE>
</TD>
</TR>
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<CODE>
</CODE></TD>
<TD CLASS="colLast">
<CODE>saveTo(<SPAN CLASS="memberNameLink"><A HREF="system-collections.html#List&lt;T1&gt;">List&lt;system'dynamic'TapeFunction&gt;</A></SPAN> list, <SPAN CLASS="memberNameLink"><A HREF="system-dynamic-expressions.html#ExpressionScope">ExpressionScope</A></SPAN> scope, <SPAN CLASS="memberNameLink"><A HREF="system.html#IntNumber">IntNumber</A></SPAN> index)
</CODE>
</TD>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<CODE>
</CODE></TD>
<TD CLASS="colLast">
<CODE>eval()
</CODE>
</TD>
</TR>
</TABLE>
</LI>
</UL>
<HR>
</DIV>
<A NAME="LoopExpression">
</A>
<!-- ======== START OF CLASS DATA ======== -->
Expand Down
5 changes: 4 additions & 1 deletion doc/todo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ In development:
--------------------------------------
- #617
--------------------------------------
- work with elt in ide
- elt : exception handler (e.g. unresolved reference)

- work with elt in ide - invoke a code from the current project
- https://www.reddit.com/r/elena_lang/comments/hyst7t/elena_51_run_elena_code_without_build/

- #621

Expand Down
2 changes: 1 addition & 1 deletion elenasrc3/elenasm/smcommon.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#ifndef RTCOMMON_H
#define RTCOMMON_H

#define ELENASM_REVISION_NUMBER 0x000F
#define ELENASM_REVISION_NUMBER 0x0011

namespace elena_lang
{
Expand Down
Loading

0 comments on commit 0eac950

Please sign in to comment.