···11-/* The following code was generated by CSFlex 1.4 on 16.04.2018 */
11+/* The following code was generated by CSFlex 1.4 on 29.06.2019 */
2233#line 1 "Prexonite.lex"
44/*
···4141/**
4242 * This class is a scanner generated by <a href="http://www.sourceforge.net/projects/csflex/">C# Flex</a>, based on
4343 * <a href="http://www.jflex.de/">JFlex</a>, version 1.4
4444- * on 16.04.2018 from the specification file
4444+ * on 29.06.2019 from the specification file
4545 * <tt>Prexonite.lex</tt>
4646 */
4747class Lexer: Prexonite.Internal.IScanner {
+690-687
Prexonite/Compiler/Macro/MacroSession.cs
···11-// Prexonite
22-//
33-// Copyright (c) 2014, Christian Klauser
44-// All rights reserved.
55-//
66-// Redistribution and use in source and binary forms, with or without modification,
77-// are permitted provided that the following conditions are met:
88-//
99-// Redistributions of source code must retain the above copyright notice,
1010-// this list of conditions and the following disclaimer.
1111-// Redistributions in binary form must reproduce the above copyright notice,
1212-// this list of conditions and the following disclaimer in the
1313-// documentation and/or other materials provided with the distribution.
1414-// The names of the contributors may be used to endorse or
1515-// promote products derived from this software without specific prior written permission.
1616-//
1717-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
1818-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1919-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
2020-// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
2121-// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2222-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2323-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
2424-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
2525-// IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2626-using System;
2727-using System.Collections.Generic;
2828-using System.Diagnostics;
2929-using System.Linq;
3030-using JetBrains.Annotations;
3131-using Prexonite.Compiler.Ast;
3232-using Prexonite.Compiler.Symbolic;
3333-using Prexonite.Modular;
3434-using Prexonite.Properties;
3535-using Prexonite.Types;
3636-3737-namespace Prexonite.Compiler.Macro
3838-{
3939- /// <summary>
4040- /// Provides information associated with a macro expansion session.
4141- /// </summary>
4242- public class MacroSession : IDisposable
4343- {
4444- [NotNull]
4545- private readonly CompilerTarget _target;
4646-4747- [CanBeNull]
4848- private LoaderOptions _options;
4949- [NotNull]
5050- private readonly SymbolStore _globalSymbols;
5151- [NotNull]
5252- private readonly ReadOnlyCollectionView<string> _outerVariables;
5353- [NotNull]
5454- private readonly SymbolCollection _releaseList = new SymbolCollection();
5555- [NotNull]
5656- private readonly SymbolCollection _allocationList = new SymbolCollection();
5757-5858- [NotNull]
5959- private readonly HashSet<AstGetSet> _invocations =
6060- new HashSet<AstGetSet>();
6161-6262- [NotNull]
6363- private readonly object _buildCommandToken;
6464-6565- [NotNull]
6666- private readonly List<PValue> _transportStore = new List<PValue>();
6767-6868- [NotNull]
6969- private readonly IAstFactory _astFactory;
7070-7171- /// <summary>
7272- /// Creates a new macro expansion session for the specified compiler target.
7373- /// </summary>
7474- /// <param name = "target">The target to expand macros in.</param>
7575- public MacroSession([NotNull] CompilerTarget target)
7676- {
7777- if(target == null)
7878- throw new ArgumentNullException(nameof(target));
7979-8080- _target = target;
8181- _astFactory = _target.Factory;
8282-8383- _globalSymbols = SymbolStore.Create(_target.Loader.TopLevelSymbols);
8484- _outerVariables = new ReadOnlyCollectionView<string>(_target.OuterVariables);
8585-8686- _buildCommandToken = target.Loader.RequestBuildCommands();
8787- }
8888-8989- /// <summary>
9090- /// Provides read-only access to the global symbol table.
9191- /// </summary>
9292- public SymbolStore GlobalSymbols
9393- {
9494- get { return _globalSymbols; }
9595- }
9696-9797- /// <summary>
9898- /// The target that this macro expansion session covers.
9999- /// </summary>
100100- public CompilerTarget Target
101101- {
102102- [DebuggerStepThrough]
103103- get { return _target; }
104104- }
105105-106106- public ReadOnlyCollectionView<string> OuterVariables
107107- {
108108- get { return _outerVariables; }
109109- }
110110-111111- /// <summary>
112112- /// A copy of the loader options in effect during this macro expansion.
113113- /// </summary>
114114- public LoaderOptions LoaderOptions
115115- {
116116- get
117117- {
118118- if (_options == null)
119119- {
120120- _options = new LoaderOptions(_target.Loader.ParentEngine,
121121- _target.Loader.ParentApplication);
122122- _options.InheritFrom(_target.Loader.Options);
123123- }
124124- return _target.Loader.Options;
125125- }
126126- }
127127-128128- public ILoopBlock CurrentLoopBlock
129129- {
130130- get { return _target.CurrentLoopBlock; }
131131- }
132132-133133- public AstBlock CurrentBlock
134134- {
135135- get { return _target.CurrentBlock; }
136136- }
137137-138138- public IAstFactory Factory
139139- {
140140- get { return _astFactory; }
141141- }
142142-143143- /// <summary>
144144- /// Allocates a temporary variable for this macro expansion session.
145145- /// </summary>
146146- /// <returns>The (physical) id of a free temporary variable.</returns>
147147- /// <remarks>
148148- /// If a temporary variable is not freed during a macro expansion session,
149149- /// it will no longer be considered a temporary variable and cannot be freed in
150150- /// subsequent expansions
151151- /// </remarks>
152152- public string AllocateTemporaryVariable()
153153- {
154154- var temp = _target.RequestTemporaryVariable();
155155- Debug.Assert(!_allocationList.Contains(temp));
156156- Debug.Assert(!_releaseList.Contains(temp));
157157- _allocationList.Add(temp);
158158- return temp;
159159- }
160160-161161- /// <summary>
162162- /// Marks the temporary variable for freeing at the end of this expansion session.
163163- /// </summary>
164164- /// <param name = "temporaryVariable">The temporary variable to be freed.</param>
165165- public void FreeTemporaryVariable(string temporaryVariable)
166166- {
167167- if (_releaseList.Contains(temporaryVariable))
168168- {
169169- throw new PrexoniteException("Cannot release temporary variable " +
170170- temporaryVariable + " twice!");
171171- }
172172- _releaseList.Add(temporaryVariable);
173173- }
174174-175175- /// <summary>
176176- /// Releases managed resources bound by the macro expansion session, such as temporary variables.
177177- /// </summary>
178178- public void Dispose()
179179- {
180180- //Free all variables that were marked as free during the session.
181181- try
182182- {
183183- foreach (var temp in _releaseList)
184184- {
185185- _target.FreeTemporaryVariable(temp);
186186- _allocationList.Remove(temp);
187187- }
188188-189189- //Remove those that weren't freed to persistent variables
190190- foreach (var temp in _allocationList)
191191- {
192192- _target.PromoteTemporaryVariable(temp);
193193- }
194194- }
195195- finally
196196- {
197197- var ldr = Target.Loader;
198198- if (ldr != null)
199199- ldr.ReleaseBuildCommands(_buildCommandToken);
200200- }
201201- }
202202-203203- private interface IMacroExpander
204204- {
205205- void Initialize(CompilerTarget target, AstGetSet macroNode, bool justEffect);
206206- string HumanId { get; }
207207- void Expand(CompilerTarget target, MacroContext context);
208208- bool TryExpandPartially(CompilerTarget target, MacroContext context);
209209- }
210210-211211- #region Command Expander
212212-213213- private abstract class MacroCommandExpanderBase : IMacroExpander
214214- {
215215- protected MacroCommand MacroCommand;
216216- public string HumanId { get; protected set; }
217217-218218- public abstract void Initialize(CompilerTarget target, AstGetSet macroNode,
219219- bool justEffect);
220220-221221- public void Expand(CompilerTarget target, MacroContext context)
222222- {
223223- if (MacroCommand == null)
224224- return;
225225-226226- MacroCommand.Expand(context);
227227- }
228228-229229- public bool TryExpandPartially(CompilerTarget target, MacroContext context)
230230- {
231231- var pac = MacroCommand as PartialMacroCommand;
232232- return pac != null && pac.ExpandPartialApplication(context);
233233- }
234234- }
235235-236236- private class MacroCommandExpander : MacroCommandExpanderBase
237237- {
238238- public override void Initialize(CompilerTarget target, AstGetSet macroNode, bool justEffect)
239239- {
240240- var expansion = (AstExpand) macroNode;
241241-242242- MacroCommand = null;
243243-244244- EntityRef.MacroCommand mcmdRef;
245245- if(!expansion.Entity.TryGetMacroCommand(out mcmdRef))
246246- throw new InvalidOperationException(string.Format(Resources.MacroCommandExpander_MacroCommandExpected, expansion.Entity));
247247- PValue value;
248248- MacroCommand mcmd;
249249- if (mcmdRef.TryGetEntity(target.Loader, out value) && (mcmd = value.Value as MacroCommand) != null)
250250- {
251251- HumanId = mcmdRef.Id;
252252- MacroCommand = mcmd;
253253- }
254254- else
255255- {
256256- target.Loader.ReportMessage(Message.Create(MessageSeverity.Error,
257257- String.Format(
258258- Resources.MacroCommandExpander_CannotFindMacro,
259259- mcmdRef.Id),
260260- macroNode.Position, MessageClasses.NoSuchMacroCommand));
261261- HumanId = "cannot_find_macro_command";
262262- }
263263- }
264264- }
265265-266266- #endregion
267267-268268- #region Function Expander
269269-270270- private static string _toFunctionNameString(SymbolEntry si)
271271- {
272272- if (si.Module == null)
273273- return si.InternalId;
274274- else
275275- return string.Format("{0}/{1},{2}", si.InternalId, si.Module.Id, si.Module.Version);
276276- }
277277-278278- private abstract class MacroFunctionExpanderBase : IMacroExpander
279279- {
280280- protected PFunction MacroFunction;
281281-282282- [PublicAPI]
283283- public const string PartialMacroKey = @"partial\macro";
284284-285285- public string HumanId { get; protected set; }
286286-287287- public abstract void Initialize(CompilerTarget target, AstGetSet macroNode,
288288- bool justEffect);
289289-290290- public void Expand(CompilerTarget target, MacroContext context)
291291- {
292292- if (MacroFunction == null)
293293- return;
294294-295295- var astRaw = _invokeMacroFunction(target, context);
296296-297297- //Optimize
298298- AstNode ast;
299299- if (astRaw != null)
300300- ast = astRaw.Value as AstNode;
301301- else
302302- ast = null;
303303-304304- var expr = ast as AstExpr;
305305-306306- /*Merge with context expression block
307307- * cs = Statements from context
308308- * ce = Expression from context
309309- * fs = Statements from function return value
310310- * fe = Expression from function return value
311311- * Rules
312312- * general:
313313- * {cs;ce;fs} = fe
314314- * no-fe:
315315- * {cs;tmp = ce;fs} = tmp
316316- * no-f:
317317- * {cs} = ce
318318- * no-c:
319319- * {fs} = fe
320320- */
321321- var contextBlock = context.Block;
322322- var macroBlock = ast as AstBlock;
323323-324324- // ReSharper disable JoinDeclarationAndInitializer
325325- AstExpr ce, fe;
326326- IEnumerable<AstNode> fs;
327327- // ReSharper restore JoinDeclarationAndInitializer
328328- //determine ce
329329- ce = contextBlock.Expression;
330330-331331- //determine fe
332332- if (macroBlock != null)
333333- fe = macroBlock.Expression;
334334- else if (expr != null)
335335- {
336336- fe = expr;
337337-338338- //cannot be statement at the same time, set ast to null.
339339- ast = null;
340340- }
341341- else
342342- fe = null;
343343-344344- //determine fs
345345- if (macroBlock != null)
346346- fs = macroBlock.Count > 0 ? macroBlock.Statements : null;
347347- else if (ast != null)
348348- fs = new[] {ast};
349349- else
350350- fs = null;
351351-352352- _implementMergeRules(context, ce, fs, fe);
353353- }
354354-355355- public bool TryExpandPartially(CompilerTarget target, MacroContext context)
356356- {
357357- if (!MacroFunction.Meta[PartialMacroKey].Switch)
358358- return false;
359359-360360- var successRaw = _invokeMacroFunction(target, context);
361361- if (successRaw.Type != PType.Bool)
362362- {
363363- context.ReportMessage(Message.Create(MessageSeverity.Error,
364364- Resources.MacroFunctionExpander_PartialMacroMustIndicateSuccessWithBoolean,
365365- context.Invocation.Position,
366366- MessageClasses.PartialMacroMustReturnBoolean));
367367- _setupDefaultExpression(context);
368368- return false;
369369- }
370370-371371- return (bool) successRaw.Value;
372372- }
373373-374374- private void _implementMergeRules(MacroContext context, AstExpr ce,
375375- IEnumerable<AstNode> fs, AstExpr fe)
376376- {
377377- var contextBlock = context.Block;
378378- //cs is already stored in contextBlock,
379379- // the rules position cs always at the beginning, thus no need to handle cs.
380380-381381- //At this point
382382- // { ce } iff (ce ∧ fs ∧ fe)
383383- // {tmp = ce} iff (ce ∧ fs ∧ ¬fe)
384384- // { } otherwise
385385- if (ce != null && fs != null)
386386- {
387387- if (fe != null)
388388- {
389389- contextBlock.Add(ce);
390390- }
391391- else
392392- {
393393- //Might at a later point become a warning
394394- var invocationPosition = context.Invocation.Position;
395395- context.ReportMessage(Message.Create(MessageSeverity.Info,
396396- String.Format(
397397- Resources.MacroFunctionExpander__UsedTemporaryVariable,
398398- HumanId),
399399- invocationPosition, MessageClasses.BlockMergingUsesVariable));
400400-401401- var tmpV = context.AllocateTemporaryVariable();
402402-403403- //Generate assignment to temporary variable
404404- var tmpVRef = context.Factory.Reference(invocationPosition, EntityRef.Variable.Local.Create(tmpV));
405405- var assignTmpV = context.Factory.IndirectCall(invocationPosition,tmpVRef,PCall.Set);
406406- assignTmpV.Arguments.Add(ce);
407407- contextBlock.Add(assignTmpV);
408408-409409- //Generate lookup of computed value
410410- ce = context.Factory.IndirectCall(invocationPosition,tmpVRef);
411411- }
412412- }
413413-414414- //At this point
415415- // {fs} iff (fs)
416416- // { } otherwise
417417-418418- if (fs != null)
419419- {
420420- foreach (var stmt in fs)
421421- contextBlock.Add(stmt);
422422- }
423423-424424- //Finally determine expression
425425- // = fe iff (ce ∧ fe)
426426- // = ce iff (ce ∧ ¬fe ∧ ¬fs)
427427- // = tmp iff (ce ∧ ¬fe ∧ fs)
428428- // = ⊥ otherwise
429429- if (fe != null)
430430- contextBlock.Expression = fe;
431431- else if (ce != null)
432432- contextBlock.Expression = ce; //if tmp is involved, it has replaced ce
433433- else
434434- contextBlock.Expression = null; //macro session will cover this case
435435- }
436436-437437- private PValue _invokeMacroFunction(CompilerTarget target, MacroContext context)
438438- {
439439- var macro = PrepareMacroImplementation(target.Loader, MacroFunction, context);
440440-441441- //Execute macro (argument nodes of the invocation node are passed as arguments to the macro)
442442- var macroInvocation = context.Invocation;
443443- var arguments =
444444- macroInvocation.Arguments.Select(target.Loader.CreateNativePValue).ToArray();
445445- var parentApplication = MacroFunction.ParentApplication;
446446- PValue astRaw;
447447- try
448448- {
449449- parentApplication._SuppressInitialization = true;
450450- astRaw = macro.IndirectCall(target.Loader, arguments);
451451- }
452452- finally
453453- {
454454- parentApplication._SuppressInitialization = false;
455455- }
456456- return astRaw;
457457- }
458458- }
459459-460460- private class MacroFunctionExpander : MacroFunctionExpanderBase
461461- {
462462- public override void Initialize(CompilerTarget target, AstGetSet macroNode, bool justEffect)
463463- {
464464- var expansion = (AstExpand)macroNode;
465465-466466- MacroFunction = null;
467467-468468- EntityRef.Function functionRef;
469469- if (!expansion.Entity.TryGetFunction(out functionRef))
470470- throw new InvalidOperationException(string.Format(Resources.MacroFunctionExpander_ExpectedFunctionReference, expansion.Entity));
471471- PValue value;
472472- PFunction func;
473473- if (functionRef.TryGetEntity(target.Loader, out value) && (func = value.Value as PFunction) != null)
474474- {
475475- HumanId = functionRef.Id;
476476- MacroFunction = func;
477477- }
478478- else
479479- {
480480- target.Loader.ReportMessage(
481481- Message.Create(
482482- MessageSeverity.Error,
483483- String.Format(
484484- Resources.MacroFunctionExpander_MacroFunctionNotAvailable,
485485- functionRef,
486486- target.Function.Id, target.Loader.ParentApplication.Module.Name),
487487- macroNode.Position, MessageClasses.NoSuchMacroFunction));
488488- HumanId = "could_not_resolve_macro_function";
489489- }
490490- }
491491- }
492492-493493- #endregion
494494-495495- public AstNode ExpandMacro(AstGetSet invocation, bool justEffect)
496496- {
497497- var target = Target;
498498- var context = new MacroContext(this, invocation, justEffect);
499499-500500- //Delegate actual expansion to approriate expander
501501- var expander = _getExpander(invocation, target);
502502-503503- if (expander != null)
504504- {
505505- expander.Initialize(target, invocation, justEffect);
506506-507507- //Macro invocations need to be unique within a session
508508- if (_invocations.Contains(invocation))
509509- {
510510- target.Loader.ReportMessage(
511511- Message.Create(MessageSeverity.Error,
512512- String.Format(
513513- Resources.MacroSession_MacroNotReentrant,
514514- expander.HumanId),
515515- invocation.Position, MessageClasses.MacroNotReentrant));
516516- return CreateNeutralExpression(invocation);
517517- }
518518- _invocations.Add(invocation);
519519-520520- //check if this macro is a partial application (illegal)
521521- if (invocation.Arguments.Any(AstPartiallyApplicable.IsPlaceholder))
522522- {
523523- //Attempt to expand partial macro
524524- try
525525- {
526526- if (!expander.TryExpandPartially(target, context))
527527- {
528528- target.Loader.ReportMessage(
529529- Message.Create(
530530- MessageSeverity.Error,
531531- string.Format(
532532- Resources.MacroSession_MacroCannotBeAppliedPartially,
533533- expander.HumanId), invocation.Position,
534534- MessageClasses.PartialApplicationNotSupported));
535535- return CreateNeutralExpression(invocation);
536536- }
537537- }
538538- catch (Exception e)
539539- {
540540- _setupDefaultExpression(context);
541541- _reportException(context, expander, e);
542542- }
543543- }
544544- else
545545- {
546546- //Actual macro expansion takes place here
547547- try
548548- {
549549- var cub = target.CurrentBlock;
550550- expander.Expand(target, context);
551551- if(!ReferenceEquals(cub,target.CurrentBlock))
552552- throw new PrexoniteException("Macro must restore previous lexical scope.");
553553- }
554554- catch (Exception e)
555555- {
556556- _setupDefaultExpression(context);
557557- _reportException(context, expander, e);
558558- }
559559- }
560560- }
561561-562562- //Sanitize output
563563- var ast = context.Block;
564564-565565- //ensure that there is at least null being pushed onto the stack))
566566- if (!justEffect && ast.Expression == null && !context.SuppressDefaultExpression)
567567- ast.Expression = CreateNeutralExpression(invocation);
568568-569569- var node = AstNode._GetOptimizedNode(Target, ast);
570570-571571- return node;
572572- }
573573-574574- private static void _reportException(MacroContext context, IMacroExpander expander,
575575- Exception e)
576576- {
577577- context.ReportMessage(Message.Create(MessageSeverity.Error,
578578- String.Format(
579579- Resources.MacroSession_ExceptionDuringExpansionOfMacro,
580580- expander.HumanId, context.Function.LogicalId,
581581- e.Message), context.Invocation.Position, MessageClasses.ExceptionDuringCompilation));
582582-#if DEBUG
583583- Console.WriteLine(e);
584584-#endif
585585- }
586586-587587- private static void _setupDefaultExpression(MacroContext context)
588588- {
589589- context.Block.Clear();
590590- context.Block.Expression = CreateNeutralExpression(context.Invocation);
591591- context.SuppressDefaultExpression = false;
592592- }
593593-594594- public static AstGetSet CreateNeutralExpression(AstGetSet invocation)
595595- {
596596- var nullLiteral = new AstNull(invocation.File, invocation.Line, invocation.Column);
597597- var call = new AstIndirectCall(invocation.File, invocation.Line, invocation.Column,
598598- invocation.Call, nullLiteral);
599599- if (invocation.Call == PCall.Set)
600600- call.Arguments.Add(new AstNull(invocation.File, invocation.Line, invocation.Column));
601601-602602- return call;
603603- }
604604-605605- private IMacroExpander _getExpander(AstGetSet macroNode, CompilerTarget target)
606606- {
607607- IMacroExpander expander = null;
608608- AstExpand expansion;
609609- EntityRef.MacroCommand mcmd;
610610- EntityRef.Function func;
611611- if ((expansion = macroNode as AstExpand) != null)
612612- {
613613- if (expansion.Entity.TryGetMacroCommand(out mcmd))
614614- expander = new MacroCommandExpander();
615615- else if (expansion.Entity.TryGetFunction(out func))
616616- expander = new MacroFunctionExpander();
617617- else
618618- _reportMacroNodeNotMacro(target, expansion.Entity.GetType().Name, macroNode);
619619- }
620620- else
621621- {
622622- _reportMacroNodeNotMacro(target, macroNode.GetType().Name, macroNode);
623623- }
624624- return expander;
625625- }
626626-627627- private static void _reportMacroNodeNotMacro(CompilerTarget target, string implName, AstGetSet invocation)
628628- {
629629- target.Loader.ReportMessage(
630630- Message.Create(MessageSeverity.Error,
631631- String.Format(
632632- Resources.MacroSession_NotAMacro,
633633- implName),
634634- invocation.Position, MessageClasses.NotAMacro));
635635- }
636636-637637- /// <summary>
638638- /// Provides macro environment to its implementing function. The resulting closure
639639- /// implements the expansion of the macro.
640640- /// </summary>
641641- /// <param name = "sctx">The stack context to use for wrapping the context.</param>
642642- /// <param name = "func">The implementation of the macro.</param>
643643- /// <param name = "context">The macro context for this expansion.</param>
644644- /// <returns>A closure that implements the expansion of this macro.</returns>
645645- public static Closure PrepareMacroImplementation(StackContext sctx, PFunction func,
646646- MacroContext context)
647647- {
648648- var contextVar =
649649- CompilerTarget.CreateReadonlyVariable(sctx.CreateNativePValue(context));
650650-651651- var env = new SymbolTable<PVariable>(1) {{MacroAliases.ContextAlias, contextVar}};
652652-653653- var sharedVariables =
654654- func.Meta[PFunction.SharedNamesKey].List.Select(entry => env[entry.Text]).
655655- ToArray();
656656- return new Closure(func, sharedVariables);
657657- }
658658-659659- /// <summary>
660660- /// Stores an object in the macro session. It can later be retrieved via <see cref = "RetrieveFromTransport" />.
661661- /// </summary>
662662- /// <param name = "obj">The object to be stored.</param>
663663- /// <returns>The id with which to retrieve the object later.</returns>
664664- public int StoreForTransport(PValue obj)
665665- {
666666- if (obj == null)
667667- throw new ArgumentNullException(nameof(obj));
668668- var transportId = _transportStore.Count;
669669- _transportStore.Add(obj);
670670- return transportId;
671671- }
672672-673673- /// <summary>
674674- /// Returns an object previously stored via <see cref = "StoreForTransport" />.
675675- /// </summary>
676676- /// <param name = "id">The id as returned by <see cref = "StoreForTransport" /></param>
677677- /// <returns>The obejct stored before.</returns>
678678- public PValue RetrieveFromTransport(int id)
679679- {
680680- if (0 <= id && id < _transportStore.Count)
681681- return _transportStore[id];
682682- else
683683- throw new PrexoniteException(
684684- string.Format("No object with id {0} in transport through this macro session.",
685685- id));
686686- }
687687- }
11+// Prexonite
22+//
33+// Copyright (c) 2014, Christian Klauser
44+// All rights reserved.
55+//
66+// Redistribution and use in source and binary forms, with or without modification,
77+// are permitted provided that the following conditions are met:
88+//
99+// Redistributions of source code must retain the above copyright notice,
1010+// this list of conditions and the following disclaimer.
1111+// Redistributions in binary form must reproduce the above copyright notice,
1212+// this list of conditions and the following disclaimer in the
1313+// documentation and/or other materials provided with the distribution.
1414+// The names of the contributors may be used to endorse or
1515+// promote products derived from this software without specific prior written permission.
1616+//
1717+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
1818+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1919+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
2020+// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
2121+// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2222+// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2323+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
2424+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
2525+// IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2626+using System;
2727+using System.Collections.Generic;
2828+using System.Diagnostics;
2929+using System.Linq;
3030+using JetBrains.Annotations;
3131+using Prexonite.Compiler.Ast;
3232+using Prexonite.Compiler.Symbolic;
3333+using Prexonite.Modular;
3434+using Prexonite.Properties;
3535+using Prexonite.Types;
3636+3737+namespace Prexonite.Compiler.Macro
3838+{
3939+ /// <summary>
4040+ /// Provides information associated with a macro expansion session.
4141+ /// </summary>
4242+ public class MacroSession : IDisposable
4343+ {
4444+ [NotNull]
4545+ private readonly CompilerTarget _target;
4646+4747+ [CanBeNull]
4848+ private LoaderOptions _options;
4949+ [NotNull]
5050+ private readonly SymbolStore _globalSymbols;
5151+ [NotNull]
5252+ private readonly ReadOnlyCollectionView<string> _outerVariables;
5353+ [NotNull]
5454+ private readonly SymbolCollection _releaseList = new SymbolCollection();
5555+ [NotNull]
5656+ private readonly SymbolCollection _allocationList = new SymbolCollection();
5757+5858+ [NotNull]
5959+ private readonly HashSet<AstGetSet> _invocations =
6060+ new HashSet<AstGetSet>();
6161+6262+ [NotNull]
6363+ private readonly object _buildCommandToken;
6464+6565+ [NotNull]
6666+ private readonly List<PValue> _transportStore = new List<PValue>();
6767+6868+ [NotNull]
6969+ private readonly IAstFactory _astFactory;
7070+7171+ /// <summary>
7272+ /// Creates a new macro expansion session for the specified compiler target.
7373+ /// </summary>
7474+ /// <param name = "target">The target to expand macros in.</param>
7575+ public MacroSession([NotNull] CompilerTarget target)
7676+ {
7777+ if(target == null)
7878+ throw new ArgumentNullException(nameof(target));
7979+8080+ _target = target;
8181+ _astFactory = _target.Factory;
8282+8383+ _globalSymbols = SymbolStore.Create(_target.Loader.TopLevelSymbols);
8484+ _outerVariables = new ReadOnlyCollectionView<string>(_target.OuterVariables);
8585+8686+ _buildCommandToken = target.Loader.RequestBuildCommands();
8787+ }
8888+8989+ /// <summary>
9090+ /// Provides read-only access to the global symbol table.
9191+ /// </summary>
9292+ public SymbolStore GlobalSymbols
9393+ {
9494+ get { return _globalSymbols; }
9595+ }
9696+9797+ /// <summary>
9898+ /// The target that this macro expansion session covers.
9999+ /// </summary>
100100+ public CompilerTarget Target
101101+ {
102102+ [DebuggerStepThrough]
103103+ get { return _target; }
104104+ }
105105+106106+ public ReadOnlyCollectionView<string> OuterVariables
107107+ {
108108+ get { return _outerVariables; }
109109+ }
110110+111111+ /// <summary>
112112+ /// A copy of the loader options in effect during this macro expansion.
113113+ /// </summary>
114114+ public LoaderOptions LoaderOptions
115115+ {
116116+ get
117117+ {
118118+ if (_options == null)
119119+ {
120120+ _options = new LoaderOptions(_target.Loader.ParentEngine,
121121+ _target.Loader.ParentApplication);
122122+ _options.InheritFrom(_target.Loader.Options);
123123+ }
124124+ return _target.Loader.Options;
125125+ }
126126+ }
127127+128128+ public ILoopBlock CurrentLoopBlock
129129+ {
130130+ get { return _target.CurrentLoopBlock; }
131131+ }
132132+133133+ public AstBlock CurrentBlock
134134+ {
135135+ get { return _target.CurrentBlock; }
136136+ }
137137+138138+ public IAstFactory Factory
139139+ {
140140+ get { return _astFactory; }
141141+ }
142142+143143+ /// <summary>
144144+ /// Allocates a temporary variable for this macro expansion session.
145145+ /// </summary>
146146+ /// <returns>The (physical) id of a free temporary variable.</returns>
147147+ /// <remarks>
148148+ /// If a temporary variable is not freed during a macro expansion session,
149149+ /// it will no longer be considered a temporary variable and cannot be freed in
150150+ /// subsequent expansions
151151+ /// </remarks>
152152+ public string AllocateTemporaryVariable()
153153+ {
154154+ var temp = _target.RequestTemporaryVariable();
155155+ Debug.Assert(!_allocationList.Contains(temp));
156156+ Debug.Assert(!_releaseList.Contains(temp));
157157+ _allocationList.Add(temp);
158158+ return temp;
159159+ }
160160+161161+ /// <summary>
162162+ /// Marks the temporary variable for freeing at the end of this expansion session.
163163+ /// </summary>
164164+ /// <param name = "temporaryVariable">The temporary variable to be freed.</param>
165165+ public void FreeTemporaryVariable(string temporaryVariable)
166166+ {
167167+ if (_releaseList.Contains(temporaryVariable))
168168+ {
169169+ throw new PrexoniteException("Cannot release temporary variable " +
170170+ temporaryVariable + " twice!");
171171+ }
172172+ _releaseList.Add(temporaryVariable);
173173+ }
174174+175175+ /// <summary>
176176+ /// Releases managed resources bound by the macro expansion session, such as temporary variables.
177177+ /// </summary>
178178+ public void Dispose()
179179+ {
180180+ //Free all variables that were marked as free during the session.
181181+ try
182182+ {
183183+ foreach (var temp in _releaseList)
184184+ {
185185+ _target.FreeTemporaryVariable(temp);
186186+ _allocationList.Remove(temp);
187187+ }
188188+189189+ //Remove those that weren't freed to persistent variables
190190+ foreach (var temp in _allocationList)
191191+ {
192192+ _target.PromoteTemporaryVariable(temp);
193193+ }
194194+ }
195195+ finally
196196+ {
197197+ var ldr = Target.Loader;
198198+ if (ldr != null)
199199+ ldr.ReleaseBuildCommands(_buildCommandToken);
200200+ }
201201+ }
202202+203203+ private interface IMacroExpander
204204+ {
205205+ void Initialize(CompilerTarget target, AstGetSet macroNode, bool justEffect);
206206+ string HumanId { get; }
207207+ void Expand(CompilerTarget target, MacroContext context);
208208+ bool TryExpandPartially(CompilerTarget target, MacroContext context);
209209+ }
210210+211211+ #region Command Expander
212212+213213+ private abstract class MacroCommandExpanderBase : IMacroExpander
214214+ {
215215+ protected MacroCommand MacroCommand;
216216+ public string HumanId { get; protected set; }
217217+218218+ public abstract void Initialize(CompilerTarget target, AstGetSet macroNode,
219219+ bool justEffect);
220220+221221+ public void Expand(CompilerTarget target, MacroContext context)
222222+ {
223223+ if (MacroCommand == null)
224224+ return;
225225+226226+ MacroCommand.Expand(context);
227227+ }
228228+229229+ public bool TryExpandPartially(CompilerTarget target, MacroContext context)
230230+ {
231231+ var pac = MacroCommand as PartialMacroCommand;
232232+ return pac != null && pac.ExpandPartialApplication(context);
233233+ }
234234+ }
235235+236236+ private class MacroCommandExpander : MacroCommandExpanderBase
237237+ {
238238+ public override void Initialize(CompilerTarget target, AstGetSet macroNode, bool justEffect)
239239+ {
240240+ var expansion = (AstExpand) macroNode;
241241+242242+ MacroCommand = null;
243243+244244+ EntityRef.MacroCommand mcmdRef;
245245+ if(!expansion.Entity.TryGetMacroCommand(out mcmdRef))
246246+ throw new InvalidOperationException(string.Format(Resources.MacroCommandExpander_MacroCommandExpected, expansion.Entity));
247247+ PValue value;
248248+ MacroCommand mcmd;
249249+ if (mcmdRef.TryGetEntity(target.Loader, out value) && (mcmd = value.Value as MacroCommand) != null)
250250+ {
251251+ HumanId = mcmdRef.Id;
252252+ MacroCommand = mcmd;
253253+ }
254254+ else
255255+ {
256256+ target.Loader.ReportMessage(Message.Create(MessageSeverity.Error,
257257+ String.Format(
258258+ Resources.MacroCommandExpander_CannotFindMacro,
259259+ mcmdRef.Id),
260260+ macroNode.Position, MessageClasses.NoSuchMacroCommand));
261261+ HumanId = "cannot_find_macro_command";
262262+ }
263263+ }
264264+ }
265265+266266+ #endregion
267267+268268+ #region Function Expander
269269+270270+ private abstract class MacroFunctionExpanderBase : IMacroExpander
271271+ {
272272+ protected PFunction MacroFunction;
273273+274274+ [PublicAPI]
275275+ public const string PartialMacroKey = @"partial\macro";
276276+277277+ public string HumanId { get; protected set; }
278278+279279+ public abstract void Initialize(CompilerTarget target, AstGetSet macroNode,
280280+ bool justEffect);
281281+282282+ public void Expand(CompilerTarget target, MacroContext context)
283283+ {
284284+ if (MacroFunction == null)
285285+ return;
286286+287287+ var astRaw = _invokeMacroFunction(target, context);
288288+289289+ //Optimize
290290+ AstNode ast;
291291+ if (astRaw != null)
292292+ ast = astRaw.Value as AstNode;
293293+ else
294294+ ast = null;
295295+296296+ var expr = ast as AstExpr;
297297+298298+ /*Merge with context expression block
299299+ * cs = Statements from context
300300+ * ce = Expression from context
301301+ * fs = Statements from function return value
302302+ * fe = Expression from function return value
303303+ * Rules
304304+ * general:
305305+ * {cs;ce;fs} = fe
306306+ * no-fe:
307307+ * {cs;tmp = ce;fs} = tmp
308308+ * no-f:
309309+ * {cs} = ce
310310+ * no-c:
311311+ * {fs} = fe
312312+ */
313313+ var contextBlock = context.Block;
314314+ var macroBlock = ast as AstBlock;
315315+316316+ // ReSharper disable JoinDeclarationAndInitializer
317317+ AstExpr ce, fe;
318318+ IEnumerable<AstNode> fs;
319319+ // ReSharper restore JoinDeclarationAndInitializer
320320+ //determine ce
321321+ ce = contextBlock.Expression;
322322+323323+ //determine fe
324324+ if (macroBlock != null)
325325+ fe = macroBlock.Expression;
326326+ else if (expr != null)
327327+ {
328328+ fe = expr;
329329+330330+ //cannot be statement at the same time, set ast to null.
331331+ ast = null;
332332+ }
333333+ else
334334+ fe = null;
335335+336336+ //determine fs
337337+ if (macroBlock != null)
338338+ fs = macroBlock.Count > 0 ? macroBlock.Statements : null;
339339+ else if (ast != null)
340340+ fs = new[] {ast};
341341+ else
342342+ fs = null;
343343+344344+ _implementMergeRules(context, ce, fs, fe);
345345+ }
346346+347347+ public bool TryExpandPartially(CompilerTarget target, MacroContext context)
348348+ {
349349+ if (!MacroFunction.Meta[PartialMacroKey].Switch)
350350+ return false;
351351+352352+ var successRaw = _invokeMacroFunction(target, context);
353353+ if (successRaw.Type != PType.Bool)
354354+ {
355355+ context.ReportMessage(Message.Create(MessageSeverity.Error,
356356+ Resources.MacroFunctionExpander_PartialMacroMustIndicateSuccessWithBoolean,
357357+ context.Invocation.Position,
358358+ MessageClasses.PartialMacroMustReturnBoolean));
359359+ _setupDefaultExpression(context);
360360+ return false;
361361+ }
362362+363363+ return (bool) successRaw.Value;
364364+ }
365365+366366+ private void _implementMergeRules(MacroContext context, AstExpr ce,
367367+ IEnumerable<AstNode> fs, AstExpr fe)
368368+ {
369369+ var contextBlock = context.Block;
370370+ //cs is already stored in contextBlock,
371371+ // the rules position cs always at the beginning, thus no need to handle cs.
372372+373373+ //At this point
374374+ // { ce } iff (ce ∧ fs ∧ fe)
375375+ // {tmp = ce} iff (ce ∧ fs ∧ ¬fe)
376376+ // { } otherwise
377377+ if (ce != null && fs != null)
378378+ {
379379+ if (fe != null)
380380+ {
381381+ contextBlock.Add(ce);
382382+ }
383383+ else
384384+ {
385385+ //Might at a later point become a warning
386386+ var invocationPosition = context.Invocation.Position;
387387+ context.ReportMessage(Message.Create(MessageSeverity.Info,
388388+ String.Format(
389389+ Resources.MacroFunctionExpander__UsedTemporaryVariable,
390390+ HumanId),
391391+ invocationPosition, MessageClasses.BlockMergingUsesVariable));
392392+393393+ var tmpV = context.AllocateTemporaryVariable();
394394+395395+ //Generate assignment to temporary variable
396396+ var tmpVRef = context.Factory.Reference(invocationPosition, EntityRef.Variable.Local.Create(tmpV));
397397+ var assignTmpV = context.Factory.IndirectCall(invocationPosition,tmpVRef,PCall.Set);
398398+ assignTmpV.Arguments.Add(ce);
399399+ contextBlock.Add(assignTmpV);
400400+401401+ //Generate lookup of computed value
402402+ ce = context.Factory.IndirectCall(invocationPosition,tmpVRef);
403403+ }
404404+ }
405405+406406+ //At this point
407407+ // {fs} iff (fs)
408408+ // { } otherwise
409409+410410+ if (fs != null)
411411+ {
412412+ foreach (var stmt in fs)
413413+ contextBlock.Add(stmt);
414414+ }
415415+416416+ //Finally determine expression
417417+ // = fe iff (ce ∧ fe)
418418+ // = ce iff (ce ∧ ¬fe ∧ ¬fs)
419419+ // = tmp iff (ce ∧ ¬fe ∧ fs)
420420+ // = ⊥ otherwise
421421+ if (fe != null)
422422+ contextBlock.Expression = fe;
423423+ else if (ce != null)
424424+ contextBlock.Expression = ce; //if tmp is involved, it has replaced ce
425425+ else
426426+ contextBlock.Expression = null; //macro session will cover this case
427427+ }
428428+429429+ private PValue _invokeMacroFunction(CompilerTarget target, MacroContext context)
430430+ {
431431+ var macro = PrepareMacroImplementation(target.Loader, MacroFunction, context);
432432+433433+ //Execute macro (argument nodes of the invocation node are passed as arguments to the macro)
434434+ var macroInvocation = context.Invocation;
435435+ var arguments =
436436+ macroInvocation.Arguments.Select(target.Loader.CreateNativePValue).ToArray();
437437+ var parentApplication = MacroFunction.ParentApplication;
438438+ PValue astRaw;
439439+ try
440440+ {
441441+ parentApplication._SuppressInitialization = true;
442442+ astRaw = macro.IndirectCall(target.Loader, arguments);
443443+ }
444444+ finally
445445+ {
446446+ parentApplication._SuppressInitialization = false;
447447+ }
448448+ return astRaw;
449449+ }
450450+ }
451451+452452+ private class MacroFunctionExpander : MacroFunctionExpanderBase
453453+ {
454454+ public override void Initialize(CompilerTarget target, AstGetSet macroNode, bool justEffect)
455455+ {
456456+ var expansion = (AstExpand)macroNode;
457457+458458+ MacroFunction = null;
459459+460460+ EntityRef.Function functionRef;
461461+ if (!expansion.Entity.TryGetFunction(out functionRef))
462462+ throw new InvalidOperationException(string.Format(Resources.MacroFunctionExpander_ExpectedFunctionReference, expansion.Entity));
463463+ PValue value;
464464+ PFunction func;
465465+ if (functionRef.TryGetEntity(target.Loader, out value) && (func = value.Value as PFunction) != null)
466466+ {
467467+ HumanId = functionRef.Id;
468468+ MacroFunction = func;
469469+ }
470470+ else
471471+ {
472472+ target.Loader.ReportMessage(
473473+ Message.Create(
474474+ MessageSeverity.Error,
475475+ String.Format(
476476+ Resources.MacroFunctionExpander_MacroFunctionNotAvailable,
477477+ functionRef,
478478+ target.Function.Id, target.Loader.ParentApplication.Module.Name),
479479+ macroNode.Position, MessageClasses.NoSuchMacroFunction));
480480+ HumanId = "could_not_resolve_macro_function";
481481+ }
482482+ }
483483+ }
484484+485485+ #endregion
486486+487487+ public AstNode ExpandMacro(AstGetSet invocation, bool justEffect)
488488+ {
489489+ var target = Target;
490490+ var context = new MacroContext(this, invocation, justEffect);
491491+492492+ //Delegate actual expansion to appropriate expander
493493+ var expander = _getExpander(invocation, target);
494494+495495+ if (expander != null)
496496+ {
497497+ expander.Initialize(target, invocation, justEffect);
498498+499499+ //Macro invocations need to be unique within a session
500500+ if (_invocations.Contains(invocation))
501501+ {
502502+ target.Loader.ReportMessage(
503503+ Message.Create(MessageSeverity.Error,
504504+ String.Format(
505505+ Resources.MacroSession_MacroNotReentrant,
506506+ expander.HumanId),
507507+ invocation.Position, MessageClasses.MacroNotReentrant));
508508+ return CreateNeutralExpression(invocation);
509509+ }
510510+ _invocations.Add(invocation);
511511+512512+ T lockDownLexicalScope<T>(Func<T> action)
513513+ {
514514+ var cub = target.CurrentBlock;
515515+ var r = action();
516516+ if(!ReferenceEquals(cub,target.CurrentBlock))
517517+ throw new PrexoniteException("Macro must restore previous lexical scope.");
518518+ return r;
519519+ }
520520+ void lockDownLexicalScopeA(Action action)
521521+ {
522522+ lockDownLexicalScope<object>(() =>
523523+ {
524524+ action();
525525+ return null;
526526+ });
527527+ }
528528+529529+ //check if this macro is a partial application
530530+ if (invocation.CheckNodeApplicationState().HasPlaceholders)
531531+ {
532532+ //Attempt to expand partial macro
533533+ try
534534+ {
535535+ if (!lockDownLexicalScope(() => expander.TryExpandPartially(target, context)))
536536+ {
537537+ target.Loader.ReportMessage(
538538+ Message.Create(
539539+ MessageSeverity.Error,
540540+ string.Format(
541541+ Resources.MacroSession_MacroCannotBeAppliedPartially,
542542+ expander.HumanId), invocation.Position,
543543+ MessageClasses.PartialApplicationNotSupported));
544544+ return CreateNeutralExpression(invocation);
545545+ }
546546+ }
547547+ catch (Exception e)
548548+ {
549549+ _setupDefaultExpression(context);
550550+ _reportException(context, expander, e);
551551+ }
552552+ }
553553+ else
554554+ {
555555+ //Actual macro expansion takes place here
556556+ try
557557+ {
558558+ lockDownLexicalScopeA(() => expander.Expand(target, context));
559559+ }
560560+ catch (Exception e)
561561+ {
562562+ _setupDefaultExpression(context);
563563+ _reportException(context, expander, e);
564564+ }
565565+ }
566566+ }
567567+568568+ //Sanitize output
569569+ var ast = context.Block;
570570+571571+ //ensure that there is at least null being pushed onto the stack))
572572+ if (!justEffect && ast.Expression == null && !context.SuppressDefaultExpression)
573573+ ast.Expression = CreateNeutralExpression(invocation);
574574+575575+ var node = AstNode._GetOptimizedNode(Target, ast);
576576+577577+ return node;
578578+ }
579579+580580+ private static void _reportException(MacroContext context, IMacroExpander expander,
581581+ Exception e)
582582+ {
583583+ context.ReportMessage(Message.Create(MessageSeverity.Error,
584584+ String.Format(
585585+ Resources.MacroSession_ExceptionDuringExpansionOfMacro,
586586+ expander.HumanId, context.Function.LogicalId,
587587+ e.Message), context.Invocation.Position, MessageClasses.ExceptionDuringCompilation));
588588+#if DEBUG
589589+ Console.WriteLine(e);
590590+#endif
591591+ }
592592+593593+ private static void _setupDefaultExpression(MacroContext context)
594594+ {
595595+ context.Block.Clear();
596596+ context.Block.Expression = CreateNeutralExpression(context.Invocation);
597597+ context.SuppressDefaultExpression = false;
598598+ }
599599+600600+ public static AstGetSet CreateNeutralExpression(AstGetSet invocation)
601601+ {
602602+ var nullLiteral = new AstNull(invocation.File, invocation.Line, invocation.Column);
603603+ var call = new AstIndirectCall(invocation.File, invocation.Line, invocation.Column,
604604+ invocation.Call, nullLiteral);
605605+ if (invocation.Call == PCall.Set)
606606+ call.Arguments.Add(new AstNull(invocation.File, invocation.Line, invocation.Column));
607607+608608+ return call;
609609+ }
610610+611611+ private IMacroExpander _getExpander(AstGetSet macroNode, CompilerTarget target)
612612+ {
613613+ IMacroExpander expander = null;
614614+ if (macroNode is AstExpand expansion)
615615+ {
616616+ if (expansion.Entity.TryGetMacroCommand(out _))
617617+ expander = new MacroCommandExpander();
618618+ else if (expansion.Entity.TryGetFunction(out _))
619619+ expander = new MacroFunctionExpander();
620620+ else
621621+ _reportMacroNodeNotMacro(target, expansion.Entity.GetType().Name, macroNode);
622622+ }
623623+ else
624624+ {
625625+ _reportMacroNodeNotMacro(target, macroNode.GetType().Name, macroNode);
626626+ }
627627+ return expander;
628628+ }
629629+630630+ private static void _reportMacroNodeNotMacro(CompilerTarget target, string implName, AstGetSet invocation)
631631+ {
632632+ target.Loader.ReportMessage(
633633+ Message.Create(MessageSeverity.Error,
634634+ String.Format(
635635+ Resources.MacroSession_NotAMacro,
636636+ implName),
637637+ invocation.Position, MessageClasses.NotAMacro));
638638+ }
639639+640640+ /// <summary>
641641+ /// Provides macro environment to its implementing function. The resulting closure
642642+ /// implements the expansion of the macro.
643643+ /// </summary>
644644+ /// <param name = "sctx">The stack context to use for wrapping the context.</param>
645645+ /// <param name = "func">The implementation of the macro.</param>
646646+ /// <param name = "context">The macro context for this expansion.</param>
647647+ /// <returns>A closure that implements the expansion of this macro.</returns>
648648+ public static Closure PrepareMacroImplementation(StackContext sctx, PFunction func,
649649+ MacroContext context)
650650+ {
651651+ var contextVar =
652652+ CompilerTarget.CreateReadonlyVariable(sctx.CreateNativePValue(context));
653653+654654+ var env = new SymbolTable<PVariable>(1) {{MacroAliases.ContextAlias, contextVar}};
655655+656656+ var sharedVariables =
657657+ func.Meta[PFunction.SharedNamesKey].List.Select(entry => env[entry.Text]).
658658+ ToArray();
659659+ return new Closure(func, sharedVariables);
660660+ }
661661+662662+ /// <summary>
663663+ /// Stores an object in the macro session. It can later be retrieved via <see cref = "RetrieveFromTransport" />.
664664+ /// </summary>
665665+ /// <param name = "obj">The object to be stored.</param>
666666+ /// <returns>The id with which to retrieve the object later.</returns>
667667+ public int StoreForTransport(PValue obj)
668668+ {
669669+ if (obj == null)
670670+ throw new ArgumentNullException(nameof(obj));
671671+ var transportId = _transportStore.Count;
672672+ _transportStore.Add(obj);
673673+ return transportId;
674674+ }
675675+676676+ /// <summary>
677677+ /// Returns an object previously stored via <see cref = "StoreForTransport" />.
678678+ /// </summary>
679679+ /// <param name = "id">The id as returned by <see cref = "StoreForTransport" /></param>
680680+ /// <returns>The object stored before.</returns>
681681+ public PValue RetrieveFromTransport(int id)
682682+ {
683683+ if (0 <= id && id < _transportStore.Count)
684684+ return _transportStore[id];
685685+ else
686686+ throw new PrexoniteException(
687687+ string.Format("No object with id {0} in transport through this macro session.",
688688+ id));
689689+ }
690690+ }
688691}
···11//-- GENERATED BY PxCoco -merge --//
22//-- make sure to modify the source files instead of this one! --//
3344-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Header.atg#
44+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Header.atg#
55/*
66 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
77 * Copyright (C) 2007 Christian "SealedSun" Klauser
···4545464647474848-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Scanner.atg#
4848+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Scanner.atg#
4949/*
5050 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
5151 * Copyright (C) 2007 Christian "SealedSun" Klauser
···198198/*------------------------------*/
199199/*---- Parser ------------------*/
200200PRODUCTIONS
201201-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Assembler.atg#
201201+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Assembler.atg#
202202/*
203203 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
204204 * Copyright (C) 2007 Christian "SealedSun" Klauser
···449449=
450450 AsmId<out qualid>
451451.
452452-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Expression.atg#
452452+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Expression.atg#
453453/*
454454 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
455455 * Copyright (C) 2007 Christian "SealedSun" Klauser
···10081008| ExplicitTypeExpr<out type> (. args.Add(type); .)
10091009| lpar Expr<out expr> rpar (. args.Add(expr); .)
10101010.
10111011-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.GlobalScope.atg#
10111011+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.GlobalScope.atg#
10121012/*
10131013 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
10141014 * Copyright (C) 2007 Christian "SealedSun" Klauser
···21322132 .)
21332133) (. _updateNamespace(scope, exportBuilder); .)
21342134.
21352135-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Helper.atg#
21352135+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Helper.atg#
21362136/*
21372137 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
21382138 * Copyright (C) 2007 Christian "SealedSun" Klauser
···23232323|
23242324 Null (. expr = new MExpr.MAtom(GetPosition(), null); .)
23252325.
23262326-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Statement.atg#
23262326+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Parser.Statement.atg#
23272327/*
23282328 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
23292329 * Copyright (C) 2007 Christian "SealedSun" Klauser
···30263026 )
30273027 ]
30283028.
30293029-#file:C:\Users\chris\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Footer.atg#
30293029+#file:F:\Users\Christian\Documents\GitHub\prx\Prexonite\Compiler\Grammar\Footer.atg#
30303030/*
30313031 * Prexonite, a scripting engine (Scripting Language -> Bytecode -> Virtual Machine)
30323032 * Copyright (C) 2007 Christian "SealedSun" Klauser
+1176-1138
Prexonite/Properties/Resources.Designer.cs
···11-//------------------------------------------------------------------------------
22-// <auto-generated>
33-// This code was generated by a tool.
44-// Runtime Version:4.0.30319.42000
55-//
66-// Changes to this file may cause incorrect behavior and will be lost if
77-// the code is regenerated.
88-// </auto-generated>
99-//------------------------------------------------------------------------------
1010-1111-namespace Prexonite.Properties {
1212- using System;
1313-1414-1515- /// <summary>
1616- /// A strongly-typed resource class, for looking up localized strings, etc.
1717- /// </summary>
1818- // This class was auto-generated by the StronglyTypedResourceBuilder
1919- // class via a tool like ResGen or Visual Studio.
2020- // To add or remove a member, edit your .ResX file then rerun ResGen
2121- // with the /str option, or rebuild your VS project.
2222- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
2323- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
2424- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
2525- public class Resources {
2626-2727- private static global::System.Resources.ResourceManager resourceMan;
2828-2929- private static global::System.Globalization.CultureInfo resourceCulture;
3030-3131- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
3232- internal Resources() {
3333- }
3434-3535- /// <summary>
3636- /// Returns the cached ResourceManager instance used by this class.
3737- /// </summary>
3838- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
3939- public static global::System.Resources.ResourceManager ResourceManager {
4040- get {
4141- if (object.ReferenceEquals(resourceMan, null)) {
4242- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Prexonite.Properties.Resources", typeof(Resources).Assembly);
4343- resourceMan = temp;
4444- }
4545- return resourceMan;
4646- }
4747- }
4848-4949- /// <summary>
5050- /// Overrides the current thread's CurrentUICulture property for all
5151- /// resource lookups using this strongly typed resource class.
5252- /// </summary>
5353- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
5454- public static global::System.Globalization.CultureInfo Culture {
5555- get {
5656- return resourceCulture;
5757- }
5858- set {
5959- resourceCulture = value;
6060- }
6161- }
6262-6363- /// <summary>
6464- /// Looks up a localized string similar to In partial applications of lazy coalescence expressions, only one placeholder at the end of a sequence is allowed. Consider using a lambda expression instead..
6565- /// </summary>
6666- public static string AstCoalescence__reportInvalidPlaceholders {
6767- get {
6868- return ResourceManager.GetString("AstCoalescence__reportInvalidPlaceholders", resourceCulture);
6969- }
7070- }
7171-7272- /// <summary>
7373- /// Looks up a localized string similar to Entity must be a macro to be expanded..
7474- /// </summary>
7575- public static string AstExpand_EntityMustBeMacro {
7676- get {
7777- return ResourceManager.GetString("AstExpand_EntityMustBeMacro", resourceCulture);
7878- }
7979- }
8080-8181- /// <summary>
8282- /// Looks up a localized string similar to Expected {0} to be implemented as an LValue..
8383- /// </summary>
8484- public static string AstFactoryBase__resolveImplementation_LValueExpected {
8585- get {
8686- return ResourceManager.GetString("AstFactoryBase__resolveImplementation_LValueExpected", resourceCulture);
8787- }
8888- }
8989-9090- /// <summary>
9191- /// Looks up a localized string similar to Type expression expected on the right-hand side of a type cast..
9292- /// </summary>
9393- public static string AstFactoryBase_BinaryOperation_TypeExprExpected {
9494- get {
9595- return ResourceManager.GetString("AstFactoryBase_BinaryOperation_TypeExprExpected", resourceCulture);
9696- }
9797- }
9898-9999- /// <summary>
100100- /// Looks up a localized string similar to Right hand side of a cast operation must be a type expression..
101101- /// </summary>
102102- public static string AstFactoryBase_ModifyingAssignment_TypeExpressionExpected {
103103- get {
104104- return ResourceManager.GetString("AstFactoryBase_ModifyingAssignment_TypeExpressionExpected", resourceCulture);
105105- }
106106- }
107107-108108- /// <summary>
109109- /// Looks up a localized string similar to The not operator must produce an LValue to be used in a negative typecheck..
110110- /// </summary>
111111- public static string AstFactoryBase_UnaryOperation_NotOperatorForTypecheckRequiresLValue {
112112- get {
113113- return ResourceManager.GetString("AstFactoryBase_UnaryOperation_NotOperatorForTypecheckRequiresLValue", resourceCulture);
114114- }
115115- }
116116-117117- /// <summary>
118118- /// Looks up a localized string similar to Target of an increment or decrement operations must be an LValue and a get-call..
119119- /// </summary>
120120- public static string AstFactoryBase_UnaryOperation_Target_must_be_LValue {
121121- get {
122122- return ResourceManager.GetString("AstFactoryBase_UnaryOperation_Target_must_be_LValue", resourceCulture);
123123- }
124124- }
125125-126126- /// <summary>
127127- /// Looks up a localized string similar to Optimization of the element expression in the foreach head resulted in a non-GetSet expression. Try to use a simpler expression..
128128- /// </summary>
129129- public static string AstForeachLoop_DoEmitCode_ElementTooComplicated {
130130- get {
131131- return ResourceManager.GetString("AstForeachLoop_DoEmitCode_ElementTooComplicated", resourceCulture);
132132- }
133133- }
134134-135135- /// <summary>
136136- /// Looks up a localized string similar to Cannot assign to a reference to a {0}..
137137- /// </summary>
138138- public static string AstGetSetReference_CannotAssignReference {
139139- get {
140140- return ResourceManager.GetString("AstGetSetReference_CannotAssignReference", resourceCulture);
141141- }
142142- }
143143-144144- /// <summary>
145145- /// Looks up a localized string similar to Cannot create a reference to {0} {1}..
146146- /// </summary>
147147- public static string AstGetSetReference_CannotCreateReference {
148148- get {
149149- return ResourceManager.GetString("AstGetSetReference_CannotCreateReference", resourceCulture);
150150- }
151151- }
152152-153153- /// <summary>
154154- /// Looks up a localized string similar to Reference to macro command {0} detected. Prexonite version {1} treats this as a partial application. This behavior might change in the future. Use partial application syntax explicitly {0}(?) or use the {2} command to obtain a reference to the macro..
155155- /// </summary>
156156- public static string AstGetSetReference_ReferenceToMacroTreatedAsPartialApplication {
157157- get {
158158- return ResourceManager.GetString("AstGetSetReference_ReferenceToMacroTreatedAsPartialApplication", resourceCulture);
159159- }
160160- }
161161-162162- /// <summary>
163163- /// Looks up a localized string similar to Condition must not be null..
164164- /// </summary>
165165- public static string AstLazyLogical__Condition_must_not_be_null {
166166- get {
167167- return ResourceManager.GetString("AstLazyLogical__Condition_must_not_be_null", resourceCulture);
168168- }
169169- }
170170-171171- /// <summary>
172172- /// Looks up a localized string similar to targetLabel must neither be null nor empty..
173173- /// </summary>
174174- public static string AstLazyLogical__targetLabel_must_neither_be_null_nor_empty {
175175- get {
176176- return ResourceManager.GetString("AstLazyLogical__targetLabel_must_neither_be_null_nor_empty", resourceCulture);
177177- }
178178- }
179179-180180- /// <summary>
181181- /// Looks up a localized string similar to alternativeLabel may neither be null nor empty..
182182- /// </summary>
183183- public static string AstLazyLogical_alternativeLabel_may_neither_be_null_nor_empty {
184184- get {
185185- return ResourceManager.GetString("AstLazyLogical_alternativeLabel_may_neither_be_null_nor_empty", resourceCulture);
186186- }
187187- }
188188-189189- /// <summary>
190190- /// Looks up a localized string similar to The lazy logical expression {0} must implement this method/property to support partial application..
191191- /// </summary>
192192- public static string AstLazyLogical_CreatePrefixMustBeImplementedForPartialApplication {
193193- get {
194194- return ResourceManager.GetString("AstLazyLogical_CreatePrefixMustBeImplementedForPartialApplication", resourceCulture);
195195- }
196196- }
197197-198198- /// <summary>
199199- /// Looks up a localized string similar to Partial applications of logical statements must be either pure and-chains or pure or-chains..
200200- /// </summary>
201201- public static string AstLazyLogical_EmitCode_PureChainsExpected {
202202- get {
203203- return ResourceManager.GetString("AstLazyLogical_EmitCode_PureChainsExpected", resourceCulture);
204204- }
205205- }
206206-207207- /// <summary>
208208- /// Looks up a localized string similar to In partial applications of lazy expressions, only one placeholder at the end of a sequence is allowed. Consider using a lambda expression instead..
209209- /// </summary>
210210- public static string AstLazyLogical_placeholderOnlyAtTheEnd {
211211- get {
212212- return ResourceManager.GetString("AstLazyLogical_placeholderOnlyAtTheEnd", resourceCulture);
213213- }
214214- }
215215-216216- /// <summary>
217217- /// Looks up a localized string similar to The assignment modifier {0} is not supported..
218218- /// </summary>
219219- public static string AstModifyingAssignment_AssignmentModifierNotSupported {
220220- get {
221221- return ResourceManager.GetString("AstModifyingAssignment_AssignmentModifierNotSupported", resourceCulture);
222222- }
223223- }
224224-225225- /// <summary>
226226- /// Looks up a localized string similar to Invalid modifying assignment: No RHS..
227227- /// </summary>
228228- public static string AstModifyingAssignment_No_RHS {
229229- get {
230230- return ResourceManager.GetString("AstModifyingAssignment_No_RHS", resourceCulture);
231231- }
232232- }
233233-234234- /// <summary>
235235- /// Looks up a localized string similar to Compiler target cannot be null..
236236- /// </summary>
237237- public static string AstNode__GetOptimizedNode_CompilerTarget_null {
238238- get {
239239- return ResourceManager.GetString("AstNode__GetOptimizedNode_CompilerTarget_null", resourceCulture);
240240- }
241241- }
242242-243243- /// <summary>
244244- /// Looks up a localized string similar to Expression to be optimized can not be null..
245245- /// </summary>
246246- public static string AstNode__GetOptimizedNode_Expression_null {
247247- get {
248248- return ResourceManager.GetString("AstNode__GetOptimizedNode_Expression_null", resourceCulture);
249249- }
250250- }
251251-252252- /// <summary>
253253- /// Looks up a localized string similar to Compiler target must not be null..
254254- /// </summary>
255255- public static string AstNode_Compiler_target_must_not_be_null {
256256- get {
257257- return ResourceManager.GetString("AstNode_Compiler_target_must_not_be_null", resourceCulture);
258258- }
259259- }
260260-261261- /// <summary>
262262- /// Looks up a localized string similar to No implementation defined for operator `{0}`.
263263- /// </summary>
264264- public static string AstNode_NoImplementationForOperator {
265265- get {
266266- return ResourceManager.GetString("AstNode_NoImplementationForOperator", resourceCulture);
267267- }
268268- }
269269-270270- /// <summary>
271271- /// Looks up a localized string similar to A placeholder index cannot be negtive.
272272- /// </summary>
273273- public static string AstPlaceholder_PlaceholdeIndexNegative {
274274- get {
275275- return ResourceManager.GetString("AstPlaceholder_PlaceholdeIndexNegative", resourceCulture);
276276- }
277277- }
278278-279279- /// <summary>
280280- /// Looks up a localized string similar to Cannot load a reference to a macro command. Partial application might be possible, depending on the macro command in question..
281281- /// </summary>
282282- public static string AstReference_MacroCommandReferenceNotPossible {
283283- get {
284284- return ResourceManager.GetString("AstReference_MacroCommandReferenceNotPossible", resourceCulture);
285285- }
286286- }
287287-288288- /// <summary>
289289- /// Looks up a localized string similar to Detected possible return (yield) from within a protected block (try-catch-finally, using, foreach). This Prexonite implementation cannot guarantee that cleanup code is executed. .
290290- /// </summary>
291291- public static string AstReturn_Warn_YieldInProtectedBlock {
292292- get {
293293- return ResourceManager.GetString("AstReturn_Warn_YieldInProtectedBlock", resourceCulture);
294294- }
295295- }
296296-297297- /// <summary>
298298- /// Looks up a localized string similar to Unary operator nodes for non-increment/decrement should not exist. This error indicates an error in the compiler..
299299- /// </summary>
300300- public static string AstUnaryOperator__NonIncrementDecrement {
301301- get {
302302- return ResourceManager.GetString("AstUnaryOperator__NonIncrementDecrement", resourceCulture);
303303- }
304304- }
305305-306306- /// <summary>
307307- /// Looks up a localized string similar to The symbol {0} has not been resolved..
308308- /// </summary>
309309- public static string AstUnresolved_The_symbol__0__has_not_been_resolved_ {
310310- get {
311311- return ResourceManager.GetString("AstUnresolved_The_symbol__0__has_not_been_resolved_", resourceCulture);
312312- }
313313- }
314314-315315- /// <summary>
316316- /// Looks up a localized string similar to call\macro must be supplied a macro reference..
317317- /// </summary>
318318- public static string CallMacro_call_macro_must_be_supplied_a_macro_reference {
319319- get {
320320- return ResourceManager.GetString("CallMacro_call_macro_must_be_supplied_a_macro_reference", resourceCulture);
321321- }
322322- }
323323-324324- /// <summary>
325325- /// Looks up a localized string similar to call\macro called from {0}. call\macro can only be called from a macro context, i.e., from a macro function or an inner function of a macro..
326326- /// </summary>
327327- public static string CallMacro_CalledFromNonMacro {
328328- get {
329329- return ResourceManager.GetString("CallMacro_CalledFromNonMacro", resourceCulture);
330330- }
331331- }
332332-333333- /// <summary>
334334- /// Looks up a localized string similar to Used in this way, {0} has the form {0}([],macroRef,[justEffect?,call?],...)..
335335- /// </summary>
336336- public static string CallMacro_errorUsageFullRef {
337337- get {
338338- return ResourceManager.GetString("CallMacro_errorUsageFullRef", resourceCulture);
339339- }
340340- }
341341-342342- /// <summary>
343343- /// Looks up a localized string similar to Used in this way, {0} has the form {0}([macroPrototype(...),justEffect?,call?],...)..
344344- /// </summary>
345345- public static string CallMacro_errorUsagePrototype {
346346- get {
347347- return ResourceManager.GetString("CallMacro_errorUsagePrototype", resourceCulture);
348348- }
349349- }
350350-351351- /// <summary>
352352- /// Looks up a localized string similar to The macro prototype must be known at compile-time, it must not be a placeholder..
353353- /// </summary>
354354- public static string CallMacro_notOnPlaceholder {
355355- get {
356356- return ResourceManager.GetString("CallMacro_notOnPlaceholder", resourceCulture);
357357- }
358358- }
359359-360360- /// <summary>
361361- /// Looks up a localized string similar to Due to an internal limitation, the index of a placeholder in the macro prototype's argument list inside {0} cannot be inferred. Specify the placeholders index explicitly (e.g., ?0, ?1, etc.)..
362362- /// </summary>
363363- public static string CallMacro_SpecifyPlaceholderIndexExplicitly {
364364- get {
365365- return ResourceManager.GetString("CallMacro_SpecifyPlaceholderIndexExplicitly", resourceCulture);
366366- }
367367- }
368368-369369- /// <summary>
370370- /// Looks up a localized string similar to call\star must at least pass through one argument (the call target). It has been instructed to pass through {0} arguments..
371371- /// </summary>
372372- public static string CallStar__invalid_PassThrough {
373373- get {
374374- return ResourceManager.GetString("CallStar__invalid_PassThrough", resourceCulture);
375375- }
376376- }
377377-378378- /// <summary>
379379- /// Looks up a localized string similar to {0} requires at least one argument, the call\* command/function to invoke..
380380- /// </summary>
381381- public static string CallStar_usage {
382382- get {
383383- return ResourceManager.GetString("CallStar_usage", resourceCulture);
384384- }
385385- }
386386-387387- /// <summary>
388388- /// Looks up a localized string similar to Due to an internal limitation, {0} and {1} cannot be used in an expression inside a loop, only as a statement..
389389- /// </summary>
390390- public static string CallSubInterpret_asExpressionInLoop {
391391- get {
392392- return ResourceManager.GetString("CallSubInterpret_asExpressionInLoop", resourceCulture);
393393- }
394394- }
395395-396396- /// <summary>
397397- /// Looks up a localized string similar to {0} requires one argument..
398398- /// </summary>
399399- public static string CallSubInterpret_OneArgument {
400400- get {
401401- return ResourceManager.GetString("CallSubInterpret_OneArgument", resourceCulture);
402402- }
403403- }
404404-405405- /// <summary>
406406- /// Looks up a localized string similar to Legacy part of parser cannot deal with symbol {0}. A call symbol was expected..
407407- /// </summary>
408408- public static string CompilerTarget__CreateIncompatibleSymbolError_IncompatibleSymbol {
409409- get {
410410- return ResourceManager.GetString("CompilerTarget__CreateIncompatibleSymbolError_IncompatibleSymbol", resourceCulture);
411411- }
412412- }
413413-414414- /// <summary>
415415- /// Looks up a localized string similar to When creating a compiler target, the supplied function must match the application targetted by the loader..
416416- /// </summary>
417417- public static string CompilerTarget_Cannot_create_for_foreign_function {
418418- get {
419419- return ResourceManager.GetString("CompilerTarget_Cannot_create_for_foreign_function", resourceCulture);
420420- }
421421- }
422422-423423- /// <summary>
424424- /// Looks up a localized string similar to Parameter list of function {0} contains {1} at position {2}. The name {1} is reserved for the local variable holding the argument list..
425425- /// </summary>
426426- public static string CompilerTarget_ParameterNameReserved {
427427- get {
428428- return ResourceManager.GetString("CompilerTarget_ParameterNameReserved", resourceCulture);
429429- }
430430- }
431431-432432- /// <summary>
433433- /// Looks up a localized string similar to Invalid key in source for symbol store..
434434- /// </summary>
435435- public static string ConflictUnionFallbackStore__unifySymbols_Invalid_key_in_source_for_symbol_store_ {
436436- get {
437437- return ResourceManager.GetString("ConflictUnionFallbackStore__unifySymbols_Invalid_key_in_source_for_symbol_store_", resourceCulture);
438438- }
439439- }
440440-441441- /// <summary>
442442- /// Looks up a localized string similar to A stream that is not readable cannot be used as a source..
443443- /// </summary>
444444- public static string Exception_StreamSource_CannotUseWriteOnlyStream {
445445- get {
446446- return ResourceManager.GetString("Exception_StreamSource_CannotUseWriteOnlyStream", resourceCulture);
447447- }
448448- }
449449-450450- /// <summary>
451451- /// Looks up a localized string similar to Capacity must be strictly positive..
452452- /// </summary>
453453- public static string LastAccessCache_CapacityMustBePositive {
454454- get {
455455- return ResourceManager.GetString("LastAccessCache_CapacityMustBePositive", resourceCulture);
456456- }
457457- }
458458-459459- /// <summary>
460460- /// Looks up a localized string similar to //PRX
461461- ///
462462- ///Name prx::v1;
463463- ///
464464- ///declare {
465465- /// command:
466466- /// print,println,
467467- /// meta,
468468- /// boxed,
469469- /// string_concat,
470470- /// concat,
471471- /// map,
472472- /// select,
473473- /// foldl,
474474- /// foldr,
475475- /// dispose,
476476- /// call\perform,
477477- /// thunk,
478478- /// asthunk,
479479- /// force,
480480- /// toseq,
481481- /// call\member\perform,
482482- /// caller,
483483- /// pair,
484484- /// unbind,
485485- /// sort,
486486- /// orderby,
487487- /// LoadAssembly,
488488- /// debug,
489489- /// setcenter,
490490- /// setleft,
491491- /// setright,
492492- /// all,
493493- /// where,
494494- /// skip,
495495- /// limit,
496496- /// take,
497497- /// abs,
498498- /// ceiling,
499499- /// exp,
500500- /// floor,
501501- /// log,
502502- /// max,
503503- /// min,
504504- /// pi,
505505- /// round,
506506- /// sin,
507507- /// cos,
508508- /// sqrt,
509509- /// tan,
510510- /// char,
511511- /// count,
512512- /// distinct,
513513- /// u [rest of string was truncated]";.
514514- /// </summary>
515515- public static string legacy_symbols {
516516- get {
517517- return ResourceManager.GetString("legacy_symbols", resourceCulture);
518518- }
519519- }
520520-521521- /// <summary>
522522- /// Looks up a localized string similar to {1}begin compiling {0} [Path: {2} ].
523523- /// </summary>
524524- public static string Loader__begin_compiling {
525525- get {
526526- return ResourceManager.GetString("Loader__begin_compiling", resourceCulture);
527527- }
528528- }
529529-530530- /// <summary>
531531- /// Looks up a localized string similar to {1}end compiling {0}.
532532- /// </summary>
533533- public static string Loader__end_compiling {
534534- get {
535535- return ResourceManager.GetString("Loader__end_compiling", resourceCulture);
536536- }
537537- }
538538-539539- /// <summary>
540540- /// Looks up a localized string similar to Cannot find macro command named `{0}`.
541541- /// </summary>
542542- public static string MacroCommandExpander_CannotFindMacro {
543543- get {
544544- return ResourceManager.GetString("MacroCommandExpander_CannotFindMacro", resourceCulture);
545545- }
546546- }
547547-548548- /// <summary>
549549- /// Looks up a localized string similar to MacroCommandExpander expected macro command entity. Got {0} instead..
550550- /// </summary>
551551- public static string MacroCommandExpander_MacroCommandExpected {
552552- get {
553553- return ResourceManager.GetString("MacroCommandExpander_MacroCommandExpected", resourceCulture);
554554- }
555555- }
556556-557557- /// <summary>
558558- /// Looks up a localized string similar to Cannot establish macro context outside of macro..
559559- /// </summary>
560560- public static string MacroContextExtensions_EstablishMacroContext_OutsideOfMacro {
561561- get {
562562- return ResourceManager.GetString("MacroContextExtensions_EstablishMacroContext_OutsideOfMacro", resourceCulture);
563563- }
564564- }
565565-566566- /// <summary>
567567- /// Looks up a localized string similar to Macro {0} uses temporary variable to ensure that expression from `context.Block` is evaluated before statements from macro return value..
568568- /// </summary>
569569- public static string MacroFunctionExpander__UsedTemporaryVariable {
570570- get {
571571- return ResourceManager.GetString("MacroFunctionExpander__UsedTemporaryVariable", resourceCulture);
572572- }
573573- }
574574-575575- /// <summary>
576576- /// Looks up a localized string similar to MacroFunctionExpander expected reference to function, got {0} instead..
577577- /// </summary>
578578- public static string MacroFunctionExpander_ExpectedFunctionReference {
579579- get {
580580- return ResourceManager.GetString("MacroFunctionExpander_ExpectedFunctionReference", resourceCulture);
581581- }
582582- }
583583-584584- /// <summary>
585585- /// Looks up a localized string similar to The macro function {0} was called from function {1} but is not available at compile time (from module {2})..
586586- /// </summary>
587587- public static string MacroFunctionExpander_MacroFunctionNotAvailable {
588588- get {
589589- return ResourceManager.GetString("MacroFunctionExpander_MacroFunctionNotAvailable", resourceCulture);
590590- }
591591- }
592592-593593- /// <summary>
594594- /// Looks up a localized string similar to Partial macro must return a boolean value, indicating whether it can handle the partial application. Assuming it cannot..
595595- /// </summary>
596596- public static string MacroFunctionExpander_PartialMacroMustIndicateSuccessWithBoolean {
597597- get {
598598- return ResourceManager.GetString("MacroFunctionExpander_PartialMacroMustIndicateSuccessWithBoolean", resourceCulture);
599599- }
600600- }
601601-602602- /// <summary>
603603- /// Looks up a localized string similar to Exception during expansion of macro {0} in function {1}: {2}.
604604- /// </summary>
605605- public static string MacroSession_ExceptionDuringExpansionOfMacro {
606606- get {
607607- return ResourceManager.GetString("MacroSession_ExceptionDuringExpansionOfMacro", resourceCulture);
608608- }
609609- }
610610-611611- /// <summary>
612612- /// Looks up a localized string similar to The macro {0} cannot be applied partially..
613613- /// </summary>
614614- public static string MacroSession_MacroCannotBeAppliedPartially {
615615- get {
616616- return ResourceManager.GetString("MacroSession_MacroCannotBeAppliedPartially", resourceCulture);
617617- }
618618- }
619619-620620- /// <summary>
621621- /// Looks up a localized string similar to AstMacroInvocation.EmitCode is not reentrant. The invocation node for the macro {0} has been expanded already. Use GetCopy() to operate on a copy of this macro invocation..
622622- /// </summary>
623623- public static string MacroSession_MacroNotReentrant {
624624- get {
625625- return ResourceManager.GetString("MacroSession_MacroNotReentrant", resourceCulture);
626626- }
627627- }
628628-629629- /// <summary>
630630- /// Looks up a localized string similar to Cannot apply {0} as a macro at compile time..
631631- /// </summary>
632632- public static string MacroSession_NotAMacro {
633633- get {
634634- return ResourceManager.GetString("MacroSession_NotAMacro", resourceCulture);
635635- }
636636- }
637637-638638- /// <summary>
639639- /// Looks up a localized string similar to A MetaEntry list must not contain null references..
640640- /// </summary>
641641- public static string MetaEntry_NullReferenceInList {
642642- get {
643643- return ResourceManager.GetString("MetaEntry_NullReferenceInList", resourceCulture);
644644- }
645645- }
646646-647647- /// <summary>
648648- /// Looks up a localized string similar to Module id cannot be null or empty..
649649- /// </summary>
650650- public static string ModuleName_Module_id_cannot_be_null_or_empty_ {
651651- get {
652652- return ResourceManager.GetString("ModuleName_Module_id_cannot_be_null_or_empty_", resourceCulture);
653653- }
654654- }
655655-656656- /// <summary>
657657- /// Looks up a localized string similar to Must supply an object to be transported to {0}..
658658- /// </summary>
659659- public static string Pack_Usage_obj_missing {
660660- get {
661661- return ResourceManager.GetString("Pack_Usage_obj_missing", resourceCulture);
662662- }
663663- }
664664-665665- /// <summary>
666666- /// Looks up a localized string similar to Cannot create a reference to a {0}..
667667- /// </summary>
668668- public static string Parser__assembleReference_CannotCreateReferenceToSymbol {
669669- get {
670670- return ResourceManager.GetString("Parser__assembleReference_CannotCreateReferenceToSymbol", resourceCulture);
671671- }
672672- }
673673-674674- /// <summary>
675675- /// Looks up a localized string similar to Macro definition is not an LValue (necessary for it to be converted to a partial application).
676676- /// </summary>
677677- public static string Parser__assembleReference_MacroDefinitionNotLValue {
678678- get {
679679- return ResourceManager.GetString("Parser__assembleReference_MacroDefinitionNotLValue", resourceCulture);
680680- }
681681- }
682682-683683- /// <summary>
684684- /// Looks up a localized string similar to The symbol {0} is not defined..
685685- /// </summary>
686686- public static string Parser__assembleReference_SymbolNotDefined {
687687- get {
688688- return ResourceManager.GetString("Parser__assembleReference_SymbolNotDefined", resourceCulture);
689689- }
690690- }
691691-692692- /// <summary>
693693- /// Looks up a localized string similar to Cannot use {0} like a constructor..
694694- /// </summary>
695695- public static string Parser__CannotUseExpressionAsAConstructor {
696696- get {
697697- return ResourceManager.GetString("Parser__CannotUseExpressionAsAConstructor", resourceCulture);
698698- }
699699- }
700700-701701- /// <summary>
702702- /// Looks up a localized string similar to Failed to transform object creation expression..
703703- /// </summary>
704704- public static string Parser__fallbackObjectCreation_Failed {
705705- get {
706706- return ResourceManager.GetString("Parser__fallbackObjectCreation_Failed", resourceCulture);
707707- }
708708- }
709709-710710- /// <summary>
711711- /// Looks up a localized string similar to Unknown operator alias in assembler code: {0}.{1}.
712712- /// </summary>
713713- public static string Parser_addOpAlias_Unknown {
714714- get {
715715- return ResourceManager.GetString("Parser_addOpAlias_Unknown", resourceCulture);
716716- }
717717- }
718718-719719- /// <summary>
720720- /// Looks up a localized string similar to Cannot parse message symbol from {0}..
721721- /// </summary>
722722- public static string Parser_Cannot_parse_message_symbol {
723723- get {
724724- return ResourceManager.GetString("Parser_Cannot_parse_message_symbol", resourceCulture);
725725- }
726726- }
727727-728728- /// <summary>
729729- /// Looks up a localized string similar to Cannot parse source position from {0}..
730730- /// </summary>
731731- public static string Parser_Cannot_parse_source_position {
732732- get {
733733- return ResourceManager.GetString("Parser_Cannot_parse_source_position", resourceCulture);
734734- }
735735- }
736736-737737- /// <summary>
738738- /// Looks up a localized string similar to Cannot parse symbol from {0}..
739739- /// </summary>
740740- public static string Parser_Cannot_parse_symbol_from {
741741- get {
742742- return ResourceManager.GetString("Parser_Cannot_parse_symbol_from", resourceCulture);
743743- }
744744- }
745745-746746- /// <summary>
747747- /// Looks up a localized string similar to Cannot expand {0} at compile time..
748748- /// </summary>
749749- public static string Parser_CannotExpandAtCompileTime {
750750- get {
751751- return ResourceManager.GetString("Parser_CannotExpandAtCompileTime", resourceCulture);
752752- }
753753- }
754754-755755- /// <summary>
756756- /// Looks up a localized string similar to Namespace {0} cannot be extended because it is a merged view of two originally distinct namespaces..
757757- /// </summary>
758758- public static string Parser_CannotExtendMergedNamespace {
759759- get {
760760- return ResourceManager.GetString("Parser_CannotExtendMergedNamespace", resourceCulture);
761761- }
762762- }
763763-764764- /// <summary>
765765- /// Looks up a localized string similar to Could not find previous declaration for symbol {0}..
766766- /// </summary>
767767- public static string Parser_Could_not_find_previous_declaration {
768768- get {
769769- return ResourceManager.GetString("Parser_Could_not_find_previous_declaration", resourceCulture);
770770- }
771771- }
772772-773773- /// <summary>
774774- /// Looks up a localized string similar to The declaration type should be followed by a colon (e.g., `declare ref var: x;`).
775775- /// </summary>
776776- public static string Parser_DeclarationTypeShouldBeFollowedByColon {
777777- get {
778778- return ResourceManager.GetString("Parser_DeclarationTypeShouldBeFollowedByColon", resourceCulture);
779779- }
780780- }
781781-782782- /// <summary>
783783- /// Looks up a localized string similar to Cannot execute build block. Errors detected.
784784- /// </summary>
785785- public static string Parser_ErrorsInBuildBlock {
786786- get {
787787- return ResourceManager.GetString("Parser_ErrorsInBuildBlock", resourceCulture);
788788- }
789789- }
790790-791791- /// <summary>
792792- /// Looks up a localized string similar to Exception during compilation and execution of build block.
793793- ///{0}.
794794- /// </summary>
795795- public static string Parser_exception_in_build_block {
796796- get {
797797- return ResourceManager.GetString("Parser_exception_in_build_block", resourceCulture);
798798- }
799799- }
800800-801801- /// <summary>
802802- /// Looks up a localized string similar to Found namespace, expected actual entity..
803803- /// </summary>
804804- public static string Parser_ExpectedEntityFoundNamespace {
805805- get {
806806- return ResourceManager.GetString("Parser_ExpectedEntityFoundNamespace", resourceCulture);
807807- }
808808- }
809809-810810- /// <summary>
811811- /// Looks up a localized string similar to Expected {0} to be a namespace. Was {1}..
812812- /// </summary>
813813- public static string Parser_NamespaceExpected {
814814- get {
815815- return ResourceManager.GetString("Parser_NamespaceExpected", resourceCulture);
816816- }
817817- }
818818-819819- /// <summary>
820820- /// Looks up a localized string similar to relativeNsId cannot be empty.
821821- /// </summary>
822822- public static string Parser_relativeNsId_empty {
823823- get {
824824- return ResourceManager.GetString("Parser_relativeNsId_empty", resourceCulture);
825825- }
826826- }
827827-828828- /// <summary>
829829- /// Looks up a localized string similar to Expected symbolic usage to be represented as an LValue..
830830- /// </summary>
831831- public static string Parser_SymbolicUsageAsLValue {
832832- get {
833833- return ResourceManager.GetString("Parser_SymbolicUsageAsLValue", resourceCulture);
834834- }
835835- }
836836-837837- /// <summary>
838838- /// Looks up a localized string similar to Cannot require outer variable to be included outside of a function. This error indicates an internal compiler error..
839839- /// </summary>
840840- public static string ParserAstFactory_RequireOuterVariable_Outside_function {
841841- get {
842842- return ResourceManager.GetString("ParserAstFactory_RequireOuterVariable_Outside_function", resourceCulture);
843843- }
844844- }
845845-846846- /// <summary>
847847- /// Looks up a localized string similar to Exiting Prx.Main normally. Press Enter to exit..
848848- /// </summary>
849849- public static string Program_DebugExit {
850850- get {
851851- return ResourceManager.GetString("Program_DebugExit", resourceCulture);
852852- }
853853- }
854854-855855- /// <summary>
856856- /// Looks up a localized string similar to //PRX
857857- ///
858858- ///Name prx::core/0.0;
859859- ///References {
860860- /// prx::prim/0.0
861861- ///};
862862- ///
863863- ///namespace prx.core
864864- ///{
865865- /// namespace seq
866866- /// {
867867- ///
868868- /// }
869869- /// export(*),prx.prim(
870870- /// map,foldl,foldr,sort,all => to_list, where => filter, skip,take,
871871- /// count,distinct,union,unique,frequency,groupby,intersect,each,exists,forall,
872872- /// takewhile,except,range, reverse, headtail, append, sum, contains,
873873- /// create_enumerator,seqconcat);
874874- ///
875875- /// namespace nonstrict
876876- /// {
877877- ///
878878- /// }
879879- /// export(*),prx.prim(thunk,asthunk => to_thunk,force,toseq => to_seq);
880880- ///
881881- /// namespace rt
882882- /// {
883883- /// [rest of string was truncated]";.
884884- /// </summary>
885885- public static string prx_core {
886886- get {
887887- return ResourceManager.GetString("prx_core", resourceCulture);
888888- }
889889- }
890890-891891- /// <summary>
892892- /// Looks up a localized string similar to // Primitive operations built into the implementation.
893893- ///// Implementation detail. Take dependency at your own risk.
894894- ///Name prx::prim;
895895- ///
896896- ///namespace prx.prim
897897- ///{
898898- /// declare(
899899- /// print = ref command "print",
900900- /// println = ref command "println",
901901- /// meta = ref command "meta",
902902- /// boxed = ref command "boxed",
903903- /// string_concat = ref command "string_concat",
904904- /// map = ref command "map",
905905- /// select = ref command "select",
906906- /// foldl = ref command "foldl",
907907- /// foldr = ref command "foldr",
908908- /// dispose = ref command "dispose" [rest of string was truncated]";.
909909- /// </summary>
910910- public static string prx_prim {
911911- get {
912912- return ResourceManager.GetString("prx_prim", resourceCulture);
913913- }
914914- }
915915-916916- /// <summary>
917917- /// Looks up a localized string similar to {0} can only be used in a macro context..
918918- /// </summary>
919919- public static string Reference_can_only_be_used_in_a_macro_context {
920920- get {
921921- return ResourceManager.GetString("Reference_can_only_be_used_in_a_macro_context", resourceCulture);
922922- }
923923- }
924924-925925- /// <summary>
926926- /// Looks up a localized string similar to {0} requires argument to be a prototype of a macro invocation..
927927- /// </summary>
928928- public static string Reference_requires_argument_to_be_a_prototype_of_a_macro_invocation {
929929- get {
930930- return ResourceManager.GetString("Reference_requires_argument_to_be_a_prototype_of_a_macro_invocation", resourceCulture);
931931- }
932932- }
933933-934934- /// <summary>
935935- /// Looks up a localized string similar to {0} requires at least one argument..
936936- /// </summary>
937937- public static string Reference_requires_at_least_one_argument {
938938- get {
939939- return ResourceManager.GetString("Reference_requires_at_least_one_argument", resourceCulture);
940940- }
941941- }
942942-943943- /// <summary>
944944- /// Looks up a localized string similar to Cannot create reference to a value (references are values too).
945945- /// </summary>
946946- public static string ReferenceTransformer_CannotCreateReferenceToValue {
947947- get {
948948- return ResourceManager.GetString("ReferenceTransformer_CannotCreateReferenceToValue", resourceCulture);
949949- }
950950- }
951951-952952- /// <summary>
953953- /// Looks up a localized string similar to Cannot create a reference to the definition of a macro or partial application..
954954- /// </summary>
955955- public static string ReferenceTransformer_HandleExpand_CannotCreateReferenceToDefinitionOfMacroOrPartialApplication {
956956- get {
957957- return ResourceManager.GetString("ReferenceTransformer_HandleExpand_CannotCreateReferenceToDefinitionOfMacroOrParti" +
958958- "alApplication", resourceCulture);
959959- }
960960- }
961961-962962- /// <summary>
963963- /// Looks up a localized string similar to File path reference not allowed when just registering a module. Consider using ISelfAssemblingPlan.AssembleAsync instead..
964964- /// </summary>
965965- public static string SelfAssemblingPlan__forbidFileRefSpec_notallowed {
966966- get {
967967- return ResourceManager.GetString("SelfAssemblingPlan__forbidFileRefSpec_notallowed", resourceCulture);
968968- }
969969- }
970970-971971- /// <summary>
972972- /// Looks up a localized string similar to Must be one of RecurseIntoFileSystem or RegisterOnly..
973973- /// </summary>
974974- public static string SelfAssemblingPlan_performCreateTargetDescription_mode {
975975- get {
976976- return ResourceManager.GetString("SelfAssemblingPlan_performCreateTargetDescription_mode", resourceCulture);
977977- }
978978- }
979979-980980- /// <summary>
981981- /// Looks up a localized string similar to A preflight parse request must come with a resolved path..
982982- /// </summary>
983983- public static string SelfAssemblingPlan_RefSepcMustHaveResolvedPathForPreflightOrder {
984984- get {
985985- return ResourceManager.GetString("SelfAssemblingPlan_RefSepcMustHaveResolvedPathForPreflightOrder", resourceCulture);
986986- }
987987- }
988988-989989- /// <summary>
990990- /// Looks up a localized string similar to The Source field of the refSpec parameter must not be null..
991991- /// </summary>
992992- public static string SelfAssemblingPlan_RefSpecMustHaveSource {
993993- get {
994994- return ResourceManager.GetString("SelfAssemblingPlan_RefSpecMustHaveSource", resourceCulture);
995995- }
996996- }
997997-998998- /// <summary>
999999- /// Looks up a localized string similar to Cannot take a reference to a reference. Too many arrows ("->")..
10001000- /// </summary>
10011001- public static string SymbolBuilder_TooManyArrows {
10021002- get {
10031003- return ResourceManager.GetString("SymbolBuilder_TooManyArrows", resourceCulture);
10041004- }
10051005- }
10061006-10071007- /// <summary>
10081008- /// Looks up a localized string similar to Cannot convert bare reference to symbol entry..
10091009- /// </summary>
10101010- public static string SymbolEntryConversion_BareReference {
10111011- get {
10121012- return ResourceManager.GetString("SymbolEntryConversion_BareReference", resourceCulture);
10131013- }
10141014- }
10151015-10161016- /// <summary>
10171017- /// Looks up a localized string similar to Only expansion symbols wrapping simple references can be converted to a SymbolEntry..
10181018- /// </summary>
10191019- public static string SymbolEntryConversion_ExpansionSymbolTooComplex {
10201020- get {
10211021- return ResourceManager.GetString("SymbolEntryConversion_ExpansionSymbolTooComplex", resourceCulture);
10221022- }
10231023- }
10241024-10251025- /// <summary>
10261026- /// Looks up a localized string similar to Cannot convert a macro instance symbol to a legacy SymbolEntry..
10271027- /// </summary>
10281028- public static string SymbolEntryConversion_MacroInstance_not_supported {
10291029- get {
10301030- return ResourceManager.GetString("SymbolEntryConversion_MacroInstance_not_supported", resourceCulture);
10311031- }
10321032- }
10331033-10341034- /// <summary>
10351035- /// Looks up a localized string similar to Message symbol was not handled before conversion to a legacy SymbolEntry.
10361036- /// </summary>
10371037- public static string SymbolEntryConversion_MessageSymbol_cannot_be_converted_to_SymbolEntry {
10381038- get {
10391039- return ResourceManager.GetString("SymbolEntryConversion_MessageSymbol_cannot_be_converted_to_SymbolEntry", resourceCulture);
10401040- }
10411041- }
10421042-10431043- /// <summary>
10441044- /// Looks up a localized string similar to Cannot convert namespace to symbol entry..
10451045- /// </summary>
10461046- public static string SymbolEntryConversion_Namespace {
10471047- get {
10481048- return ResourceManager.GetString("SymbolEntryConversion_Namespace", resourceCulture);
10491049- }
10501050- }
10511051-10521052- /// <summary>
10531053- /// Looks up a localized string similar to Cannot convert nil symbol to symbol entry..
10541054- /// </summary>
10551055- public static string SymbolEntryConversion_Nil {
10561056- get {
10571057- return ResourceManager.GetString("SymbolEntryConversion_Nil", resourceCulture);
10581058- }
10591059- }
10601060-10611061- /// <summary>
10621062- /// Looks up a localized string similar to Legacy symbol entry cannot express arbitrary dereference symbol modifiers..
10631063- /// </summary>
10641064- public static string SymbolEntryConversion_No_arbirtrary_dereference {
10651065- get {
10661066- return ResourceManager.GetString("SymbolEntryConversion_No_arbirtrary_dereference", resourceCulture);
10671067- }
10681068- }
10691069-10701070- /// <summary>
10711071- /// Looks up a localized string similar to The symbol handler {0} cannot handle symbols of type {1}..
10721072- /// </summary>
10731073- public static string SymbolHandler_CannotHandleSymbolOfType {
10741074- get {
10751075- return ResourceManager.GetString("SymbolHandler_CannotHandleSymbolOfType", resourceCulture);
10761076- }
10771077- }
10781078-10791079- /// <summary>
10801080- /// Looks up a localized string similar to Symbolic reference must consist of at least one symbol name..
10811081- /// </summary>
10821082- public static string SymbolMExprParser_EmptySymbolicReference {
10831083- get {
10841084- return ResourceManager.GetString("SymbolMExprParser_EmptySymbolicReference", resourceCulture);
10851085- }
10861086- }
10871087-10881088- /// <summary>
10891089- /// //PRX
10901090- ///
10911091- ///Name sys/0.0;
10921092- ///References {
10931093- /// prx::prim/0.0,
10941094- /// prx::core/0.0
10951095- ///};
10961096- ///
10971097- ///// Re-export prx.prim from sys. We want to keep the existence of the prx.prim module
10981098- ///// a secret.
10991099- ///namespace prx.prim {}
11001100- ///export prx.prim.*;
11011101- ///
11021102- ///// prx.core is the part of the standard library that even other parts of the standard
11031103- ///// library depend on.
11041104- ///// For the moment, prx.core gets dumped directly into sys.
11051105- ///// In case of backwards-incompatible changes in the future, sys would maintain the old.
11061106- ///// behavior while prx.core wo [rest of string was truncated]";.
11071107- /// </summary>
11081108- public static string sys {
11091109- get {
11101110- return ResourceManager.GetString("sys", resourceCulture);
11111111- }
11121112- }
11131113-11141114- /// <summary>Source for the runtime components of the Prexonite shell scripting extensions.</summary>
11151115- public static string sh
11161116- {
11171117- get { return ResourceManager.GetString("sh", resourceCulture); }
11181118- }
11191119-11201120- /// <summary>
11211121- /// Looks up a localized string similar to Cannot resolve symbol in unscoped AST factory. This error message indicates a misuse of the Prexonite compile-time API..
11221122- /// </summary>
11231123- public static string UnscopedFactory_API_Misuse_symbol_resolve {
11241124- get {
11251125- return ResourceManager.GetString("UnscopedFactory_API_Misuse_symbol_resolve", resourceCulture);
11261126- }
11271127- }
11281128-11291129- /// <summary>
11301130- /// Looks up a localized string similar to Variable id must not be empty..
11311131- /// </summary>
11321132- public static string VariableDeclaration_Variable_id_must_not_be_empty {
11331133- get {
11341134- return ResourceManager.GetString("VariableDeclaration_Variable_id_must_not_be_empty", resourceCulture);
11351135- }
11361136- }
11371137- }
11381138-}
11+//------------------------------------------------------------------------------
22+// <auto-generated>
33+// This code was generated by a tool.
44+// Runtime Version:4.0.30319.42000
55+//
66+// Changes to this file may cause incorrect behavior and will be lost if
77+// the code is regenerated.
88+// </auto-generated>
99+//------------------------------------------------------------------------------
1010+1111+namespace Prexonite.Properties {
1212+ using System;
1313+1414+1515+ /// <summary>
1616+ /// A strongly-typed resource class, for looking up localized strings, etc.
1717+ /// </summary>
1818+ // This class was auto-generated by the StronglyTypedResourceBuilder
1919+ // class via a tool like ResGen or Visual Studio.
2020+ // To add or remove a member, edit your .ResX file then rerun ResGen
2121+ // with the /str option, or rebuild your VS project.
2222+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
2323+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
2424+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
2525+ public class Resources {
2626+2727+ private static global::System.Resources.ResourceManager resourceMan;
2828+2929+ private static global::System.Globalization.CultureInfo resourceCulture;
3030+3131+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
3232+ internal Resources() {
3333+ }
3434+3535+ /// <summary>
3636+ /// Returns the cached ResourceManager instance used by this class.
3737+ /// </summary>
3838+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
3939+ public static global::System.Resources.ResourceManager ResourceManager {
4040+ get {
4141+ if (object.ReferenceEquals(resourceMan, null)) {
4242+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Prexonite.Properties.Resources", typeof(Resources).Assembly);
4343+ resourceMan = temp;
4444+ }
4545+ return resourceMan;
4646+ }
4747+ }
4848+4949+ /// <summary>
5050+ /// Overrides the current thread's CurrentUICulture property for all
5151+ /// resource lookups using this strongly typed resource class.
5252+ /// </summary>
5353+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
5454+ public static global::System.Globalization.CultureInfo Culture {
5555+ get {
5656+ return resourceCulture;
5757+ }
5858+ set {
5959+ resourceCulture = value;
6060+ }
6161+ }
6262+6363+ /// <summary>
6464+ /// Looks up a localized string similar to In partial applications of lazy coalescence expressions, only one placeholder at the end of a sequence is allowed. Consider using a lambda expression instead..
6565+ /// </summary>
6666+ public static string AstCoalescence__reportInvalidPlaceholders {
6767+ get {
6868+ return ResourceManager.GetString("AstCoalescence__reportInvalidPlaceholders", resourceCulture);
6969+ }
7070+ }
7171+7272+ /// <summary>
7373+ /// Looks up a localized string similar to Entity must be a macro to be expanded..
7474+ /// </summary>
7575+ public static string AstExpand_EntityMustBeMacro {
7676+ get {
7777+ return ResourceManager.GetString("AstExpand_EntityMustBeMacro", resourceCulture);
7878+ }
7979+ }
8080+8181+ /// <summary>
8282+ /// Looks up a localized string similar to Expected {0} to be implemented as an LValue..
8383+ /// </summary>
8484+ public static string AstFactoryBase__resolveImplementation_LValueExpected {
8585+ get {
8686+ return ResourceManager.GetString("AstFactoryBase__resolveImplementation_LValueExpected", resourceCulture);
8787+ }
8888+ }
8989+9090+ /// <summary>
9191+ /// Looks up a localized string similar to Type expression expected on the right-hand side of a type cast..
9292+ /// </summary>
9393+ public static string AstFactoryBase_BinaryOperation_TypeExprExpected {
9494+ get {
9595+ return ResourceManager.GetString("AstFactoryBase_BinaryOperation_TypeExprExpected", resourceCulture);
9696+ }
9797+ }
9898+9999+ /// <summary>
100100+ /// Looks up a localized string similar to Right hand side of a cast operation must be a type expression..
101101+ /// </summary>
102102+ public static string AstFactoryBase_ModifyingAssignment_TypeExpressionExpected {
103103+ get {
104104+ return ResourceManager.GetString("AstFactoryBase_ModifyingAssignment_TypeExpressionExpected", resourceCulture);
105105+ }
106106+ }
107107+108108+ /// <summary>
109109+ /// Looks up a localized string similar to The not operator must produce an LValue to be used in a negative typecheck..
110110+ /// </summary>
111111+ public static string AstFactoryBase_UnaryOperation_NotOperatorForTypecheckRequiresLValue {
112112+ get {
113113+ return ResourceManager.GetString("AstFactoryBase_UnaryOperation_NotOperatorForTypecheckRequiresLValue", resourceCulture);
114114+ }
115115+ }
116116+117117+ /// <summary>
118118+ /// Looks up a localized string similar to Target of an increment or decrement operations must be an LValue and a get-call..
119119+ /// </summary>
120120+ public static string AstFactoryBase_UnaryOperation_Target_must_be_LValue {
121121+ get {
122122+ return ResourceManager.GetString("AstFactoryBase_UnaryOperation_Target_must_be_LValue", resourceCulture);
123123+ }
124124+ }
125125+126126+ /// <summary>
127127+ /// Looks up a localized string similar to Optimization of the element expression in the foreach head resulted in a non-GetSet expression. Try to use a simpler expression..
128128+ /// </summary>
129129+ public static string AstForeachLoop_DoEmitCode_ElementTooComplicated {
130130+ get {
131131+ return ResourceManager.GetString("AstForeachLoop_DoEmitCode_ElementTooComplicated", resourceCulture);
132132+ }
133133+ }
134134+135135+ /// <summary>
136136+ /// Looks up a localized string similar to Cannot assign to a reference to a {0}..
137137+ /// </summary>
138138+ public static string AstGetSetReference_CannotAssignReference {
139139+ get {
140140+ return ResourceManager.GetString("AstGetSetReference_CannotAssignReference", resourceCulture);
141141+ }
142142+ }
143143+144144+ /// <summary>
145145+ /// Looks up a localized string similar to Cannot create a reference to {0} {1}..
146146+ /// </summary>
147147+ public static string AstGetSetReference_CannotCreateReference {
148148+ get {
149149+ return ResourceManager.GetString("AstGetSetReference_CannotCreateReference", resourceCulture);
150150+ }
151151+ }
152152+153153+ /// <summary>
154154+ /// Looks up a localized string similar to Reference to macro command {0} detected. Prexonite version {1} treats this as a partial application. This behavior might change in the future. Use partial application syntax explicitly {0}(?) or use the {2} command to obtain a reference to the macro..
155155+ /// </summary>
156156+ public static string AstGetSetReference_ReferenceToMacroTreatedAsPartialApplication {
157157+ get {
158158+ return ResourceManager.GetString("AstGetSetReference_ReferenceToMacroTreatedAsPartialApplication", resourceCulture);
159159+ }
160160+ }
161161+162162+ /// <summary>
163163+ /// Looks up a localized string similar to Cannot translate slice..
164164+ /// </summary>
165165+ public static string AstIndirectCall_DoEmitPartialApplicationCode_Cannot_translate_slice {
166166+ get {
167167+ return ResourceManager.GetString("AstIndirectCall_DoEmitPartialApplicationCode_Cannot_translate_slice", resourceCulture);
168168+ }
169169+ }
170170+171171+ /// <summary>
172172+ /// Looks up a localized string similar to Condition must not be null..
173173+ /// </summary>
174174+ public static string AstLazyLogical__Condition_must_not_be_null {
175175+ get {
176176+ return ResourceManager.GetString("AstLazyLogical__Condition_must_not_be_null", resourceCulture);
177177+ }
178178+ }
179179+180180+ /// <summary>
181181+ /// Looks up a localized string similar to targetLabel must neither be null nor empty..
182182+ /// </summary>
183183+ public static string AstLazyLogical__targetLabel_must_neither_be_null_nor_empty {
184184+ get {
185185+ return ResourceManager.GetString("AstLazyLogical__targetLabel_must_neither_be_null_nor_empty", resourceCulture);
186186+ }
187187+ }
188188+189189+ /// <summary>
190190+ /// Looks up a localized string similar to alternativeLabel may neither be null nor empty..
191191+ /// </summary>
192192+ public static string AstLazyLogical_alternativeLabel_may_neither_be_null_nor_empty {
193193+ get {
194194+ return ResourceManager.GetString("AstLazyLogical_alternativeLabel_may_neither_be_null_nor_empty", resourceCulture);
195195+ }
196196+ }
197197+198198+ /// <summary>
199199+ /// Looks up a localized string similar to The lazy logical expression {0} must implement this method/property to support partial application..
200200+ /// </summary>
201201+ public static string AstLazyLogical_CreatePrefixMustBeImplementedForPartialApplication {
202202+ get {
203203+ return ResourceManager.GetString("AstLazyLogical_CreatePrefixMustBeImplementedForPartialApplication", resourceCulture);
204204+ }
205205+ }
206206+207207+ /// <summary>
208208+ /// Looks up a localized string similar to Partial applications of logical statements must be either pure and-chains or pure or-chains..
209209+ /// </summary>
210210+ public static string AstLazyLogical_EmitCode_PureChainsExpected {
211211+ get {
212212+ return ResourceManager.GetString("AstLazyLogical_EmitCode_PureChainsExpected", resourceCulture);
213213+ }
214214+ }
215215+216216+ /// <summary>
217217+ /// Looks up a localized string similar to In partial applications of lazy expressions, only one placeholder at the end of a sequence is allowed. Consider using a lambda expression instead..
218218+ /// </summary>
219219+ public static string AstLazyLogical_placeholderOnlyAtTheEnd {
220220+ get {
221221+ return ResourceManager.GetString("AstLazyLogical_placeholderOnlyAtTheEnd", resourceCulture);
222222+ }
223223+ }
224224+225225+ /// <summary>
226226+ /// Looks up a localized string similar to The assignment modifier {0} is not supported..
227227+ /// </summary>
228228+ public static string AstModifyingAssignment_AssignmentModifierNotSupported {
229229+ get {
230230+ return ResourceManager.GetString("AstModifyingAssignment_AssignmentModifierNotSupported", resourceCulture);
231231+ }
232232+ }
233233+234234+ /// <summary>
235235+ /// Looks up a localized string similar to Invalid modifying assignment: No RHS..
236236+ /// </summary>
237237+ public static string AstModifyingAssignment_No_RHS {
238238+ get {
239239+ return ResourceManager.GetString("AstModifyingAssignment_No_RHS", resourceCulture);
240240+ }
241241+ }
242242+243243+ /// <summary>
244244+ /// Looks up a localized string similar to Argument splice not supported in this position..
245245+ /// </summary>
246246+ public static string AstNode__argumentSpliceNotSupportedInThisPosition {
247247+ get {
248248+ return ResourceManager.GetString("AstNode__argumentSpliceNotSupportedInThisPosition", resourceCulture);
249249+ }
250250+ }
251251+252252+ /// <summary>
253253+ /// Looks up a localized string similar to Compiler target cannot be null..
254254+ /// </summary>
255255+ public static string AstNode__GetOptimizedNode_CompilerTarget_null {
256256+ get {
257257+ return ResourceManager.GetString("AstNode__GetOptimizedNode_CompilerTarget_null", resourceCulture);
258258+ }
259259+ }
260260+261261+ /// <summary>
262262+ /// Looks up a localized string similar to Expression to be optimized can not be null..
263263+ /// </summary>
264264+ public static string AstNode__GetOptimizedNode_Expression_null {
265265+ get {
266266+ return ResourceManager.GetString("AstNode__GetOptimizedNode_Expression_null", resourceCulture);
267267+ }
268268+ }
269269+270270+ /// <summary>
271271+ /// Looks up a localized string similar to Compiler target must not be null..
272272+ /// </summary>
273273+ public static string AstNode_Compiler_target_must_not_be_null {
274274+ get {
275275+ return ResourceManager.GetString("AstNode_Compiler_target_must_not_be_null", resourceCulture);
276276+ }
277277+ }
278278+279279+ /// <summary>
280280+ /// Looks up a localized string similar to No implementation defined for operator `{0}`.
281281+ /// </summary>
282282+ public static string AstNode_NoImplementationForOperator {
283283+ get {
284284+ return ResourceManager.GetString("AstNode_NoImplementationForOperator", resourceCulture);
285285+ }
286286+ }
287287+288288+ /// <summary>
289289+ /// Looks up a localized string similar to A placeholder index cannot be negtive.
290290+ /// </summary>
291291+ public static string AstPlaceholder_PlaceholdeIndexNegative {
292292+ get {
293293+ return ResourceManager.GetString("AstPlaceholder_PlaceholdeIndexNegative", resourceCulture);
294294+ }
295295+ }
296296+297297+ /// <summary>
298298+ /// Looks up a localized string similar to Cannot load a reference to a macro command. Partial application might be possible, depending on the macro command in question..
299299+ /// </summary>
300300+ public static string AstReference_MacroCommandReferenceNotPossible {
301301+ get {
302302+ return ResourceManager.GetString("AstReference_MacroCommandReferenceNotPossible", resourceCulture);
303303+ }
304304+ }
305305+306306+ /// <summary>
307307+ /// Looks up a localized string similar to Detected possible return (yield) from within a protected block (try-catch-finally, using, foreach). This Prexonite implementation cannot guarantee that cleanup code is executed. .
308308+ /// </summary>
309309+ public static string AstReturn_Warn_YieldInProtectedBlock {
310310+ get {
311311+ return ResourceManager.GetString("AstReturn_Warn_YieldInProtectedBlock", resourceCulture);
312312+ }
313313+ }
314314+315315+ /// <summary>
316316+ /// Looks up a localized string similar to Unary operator nodes for non-increment/decrement should not exist. This error indicates an error in the compiler..
317317+ /// </summary>
318318+ public static string AstUnaryOperator__NonIncrementDecrement {
319319+ get {
320320+ return ResourceManager.GetString("AstUnaryOperator__NonIncrementDecrement", resourceCulture);
321321+ }
322322+ }
323323+324324+ /// <summary>
325325+ /// Looks up a localized string similar to The symbol {0} has not been resolved..
326326+ /// </summary>
327327+ public static string AstUnresolved_The_symbol__0__has_not_been_resolved_ {
328328+ get {
329329+ return ResourceManager.GetString("AstUnresolved_The_symbol__0__has_not_been_resolved_", resourceCulture);
330330+ }
331331+ }
332332+333333+ /// <summary>
334334+ /// Looks up a localized string similar to call\macro must be supplied a macro reference..
335335+ /// </summary>
336336+ public static string CallMacro_call_macro_must_be_supplied_a_macro_reference {
337337+ get {
338338+ return ResourceManager.GetString("CallMacro_call_macro_must_be_supplied_a_macro_reference", resourceCulture);
339339+ }
340340+ }
341341+342342+ /// <summary>
343343+ /// Looks up a localized string similar to call\macro called from {0}. call\macro can only be called from a macro context, i.e., from a macro function or an inner function of a macro..
344344+ /// </summary>
345345+ public static string CallMacro_CalledFromNonMacro {
346346+ get {
347347+ return ResourceManager.GetString("CallMacro_CalledFromNonMacro", resourceCulture);
348348+ }
349349+ }
350350+351351+ /// <summary>
352352+ /// Looks up a localized string similar to Used in this way, {0} has the form {0}([],macroRef,[justEffect?,call?],...)..
353353+ /// </summary>
354354+ public static string CallMacro_errorUsageFullRef {
355355+ get {
356356+ return ResourceManager.GetString("CallMacro_errorUsageFullRef", resourceCulture);
357357+ }
358358+ }
359359+360360+ /// <summary>
361361+ /// Looks up a localized string similar to Used in this way, {0} has the form {0}([macroPrototype(...),justEffect?,call?],...)..
362362+ /// </summary>
363363+ public static string CallMacro_errorUsagePrototype {
364364+ get {
365365+ return ResourceManager.GetString("CallMacro_errorUsagePrototype", resourceCulture);
366366+ }
367367+ }
368368+369369+ /// <summary>
370370+ /// Looks up a localized string similar to The macro prototype must be known at compile-time, it must not be a placeholder..
371371+ /// </summary>
372372+ public static string CallMacro_notOnPlaceholder {
373373+ get {
374374+ return ResourceManager.GetString("CallMacro_notOnPlaceholder", resourceCulture);
375375+ }
376376+ }
377377+378378+ /// <summary>
379379+ /// Looks up a localized string similar to Due to an internal limitation, the index of a placeholder in the macro prototype's argument list inside {0} cannot be inferred. Specify the placeholders index explicitly (e.g., ?0, ?1, etc.)..
380380+ /// </summary>
381381+ public static string CallMacro_SpecifyPlaceholderIndexExplicitly {
382382+ get {
383383+ return ResourceManager.GetString("CallMacro_SpecifyPlaceholderIndexExplicitly", resourceCulture);
384384+ }
385385+ }
386386+387387+ /// <summary>
388388+ /// Looks up a localized string similar to call\star must at least pass through one argument (the call target). It has been instructed to pass through {0} arguments..
389389+ /// </summary>
390390+ public static string CallStar__invalid_PassThrough {
391391+ get {
392392+ return ResourceManager.GetString("CallStar__invalid_PassThrough", resourceCulture);
393393+ }
394394+ }
395395+396396+ /// <summary>
397397+ /// Looks up a localized string similar to {0} requires at least one argument, the call\* command/function to invoke..
398398+ /// </summary>
399399+ public static string CallStar_usage {
400400+ get {
401401+ return ResourceManager.GetString("CallStar_usage", resourceCulture);
402402+ }
403403+ }
404404+405405+ /// <summary>
406406+ /// Looks up a localized string similar to Due to an internal limitation, {0} and {1} cannot be used in an expression inside a loop, only as a statement..
407407+ /// </summary>
408408+ public static string CallSubInterpret_asExpressionInLoop {
409409+ get {
410410+ return ResourceManager.GetString("CallSubInterpret_asExpressionInLoop", resourceCulture);
411411+ }
412412+ }
413413+414414+ /// <summary>
415415+ /// Looks up a localized string similar to {0} requires one argument..
416416+ /// </summary>
417417+ public static string CallSubInterpret_OneArgument {
418418+ get {
419419+ return ResourceManager.GetString("CallSubInterpret_OneArgument", resourceCulture);
420420+ }
421421+ }
422422+423423+ /// <summary>
424424+ /// Looks up a localized string similar to Legacy part of parser cannot deal with symbol {0}. A call symbol was expected..
425425+ /// </summary>
426426+ public static string CompilerTarget__CreateIncompatibleSymbolError_IncompatibleSymbol {
427427+ get {
428428+ return ResourceManager.GetString("CompilerTarget__CreateIncompatibleSymbolError_IncompatibleSymbol", resourceCulture);
429429+ }
430430+ }
431431+432432+ /// <summary>
433433+ /// Looks up a localized string similar to When creating a compiler target, the supplied function must match the application targetted by the loader..
434434+ /// </summary>
435435+ public static string CompilerTarget_Cannot_create_for_foreign_function {
436436+ get {
437437+ return ResourceManager.GetString("CompilerTarget_Cannot_create_for_foreign_function", resourceCulture);
438438+ }
439439+ }
440440+441441+ /// <summary>
442442+ /// Looks up a localized string similar to Parameter list of function {0} contains {1} at position {2}. The name {1} is reserved for the local variable holding the argument list..
443443+ /// </summary>
444444+ public static string CompilerTarget_ParameterNameReserved {
445445+ get {
446446+ return ResourceManager.GetString("CompilerTarget_ParameterNameReserved", resourceCulture);
447447+ }
448448+ }
449449+450450+ /// <summary>
451451+ /// Looks up a localized string similar to Invalid key in source for symbol store..
452452+ /// </summary>
453453+ public static string ConflictUnionFallbackStore__unifySymbols_Invalid_key_in_source_for_symbol_store_ {
454454+ get {
455455+ return ResourceManager.GetString("ConflictUnionFallbackStore__unifySymbols_Invalid_key_in_source_for_symbol_store_", resourceCulture);
456456+ }
457457+ }
458458+459459+ /// <summary>
460460+ /// Looks up a localized string similar to A stream that is not readable cannot be used as a source..
461461+ /// </summary>
462462+ public static string Exception_StreamSource_CannotUseWriteOnlyStream {
463463+ get {
464464+ return ResourceManager.GetString("Exception_StreamSource_CannotUseWriteOnlyStream", resourceCulture);
465465+ }
466466+ }
467467+468468+ /// <summary>
469469+ /// Looks up a localized string similar to Capacity must be strictly positive..
470470+ /// </summary>
471471+ public static string LastAccessCache_CapacityMustBePositive {
472472+ get {
473473+ return ResourceManager.GetString("LastAccessCache_CapacityMustBePositive", resourceCulture);
474474+ }
475475+ }
476476+477477+ /// <summary>
478478+ /// Looks up a localized string similar to //PRX
479479+ ///
480480+ ///Name prx::v1;
481481+ ///
482482+ ///declare {
483483+ /// command:
484484+ /// print,println,
485485+ /// meta,
486486+ /// boxed,
487487+ /// string_concat,
488488+ /// concat,
489489+ /// map,
490490+ /// select,
491491+ /// foldl,
492492+ /// foldr,
493493+ /// dispose,
494494+ /// call\perform,
495495+ /// thunk,
496496+ /// asthunk,
497497+ /// force,
498498+ /// toseq,
499499+ /// call\member\perform,
500500+ /// caller,
501501+ /// pair,
502502+ /// unbind,
503503+ /// sort,
504504+ /// orderby,
505505+ /// LoadAssembly,
506506+ /// debug,
507507+ /// setcenter,
508508+ /// setleft,
509509+ /// setright,
510510+ /// all,
511511+ /// where,
512512+ /// skip,
513513+ /// limit,
514514+ /// take,
515515+ /// abs,
516516+ /// ceiling,
517517+ /// exp,
518518+ /// floor,
519519+ /// log,
520520+ /// max,
521521+ /// min,
522522+ /// pi,
523523+ /// round,
524524+ /// sin,
525525+ /// cos,
526526+ /// sqrt,
527527+ /// tan,
528528+ /// char,
529529+ /// count,
530530+ /// distinct,
531531+ /// u [rest of string was truncated]";.
532532+ /// </summary>
533533+ public static string legacy_symbols {
534534+ get {
535535+ return ResourceManager.GetString("legacy_symbols", resourceCulture);
536536+ }
537537+ }
538538+539539+ /// <summary>
540540+ /// Looks up a localized string similar to {1}begin compiling {0} [Path: {2} ].
541541+ /// </summary>
542542+ public static string Loader__begin_compiling {
543543+ get {
544544+ return ResourceManager.GetString("Loader__begin_compiling", resourceCulture);
545545+ }
546546+ }
547547+548548+ /// <summary>
549549+ /// Looks up a localized string similar to {1}end compiling {0}.
550550+ /// </summary>
551551+ public static string Loader__end_compiling {
552552+ get {
553553+ return ResourceManager.GetString("Loader__end_compiling", resourceCulture);
554554+ }
555555+ }
556556+557557+ /// <summary>
558558+ /// Looks up a localized string similar to Cannot find macro command named `{0}`.
559559+ /// </summary>
560560+ public static string MacroCommandExpander_CannotFindMacro {
561561+ get {
562562+ return ResourceManager.GetString("MacroCommandExpander_CannotFindMacro", resourceCulture);
563563+ }
564564+ }
565565+566566+ /// <summary>
567567+ /// Looks up a localized string similar to MacroCommandExpander expected macro command entity. Got {0} instead..
568568+ /// </summary>
569569+ public static string MacroCommandExpander_MacroCommandExpected {
570570+ get {
571571+ return ResourceManager.GetString("MacroCommandExpander_MacroCommandExpected", resourceCulture);
572572+ }
573573+ }
574574+575575+ /// <summary>
576576+ /// Looks up a localized string similar to Cannot establish macro context outside of macro..
577577+ /// </summary>
578578+ public static string MacroContextExtensions_EstablishMacroContext_OutsideOfMacro {
579579+ get {
580580+ return ResourceManager.GetString("MacroContextExtensions_EstablishMacroContext_OutsideOfMacro", resourceCulture);
581581+ }
582582+ }
583583+584584+ /// <summary>
585585+ /// Looks up a localized string similar to Macro {0} uses temporary variable to ensure that expression from `context.Block` is evaluated before statements from macro return value..
586586+ /// </summary>
587587+ public static string MacroFunctionExpander__UsedTemporaryVariable {
588588+ get {
589589+ return ResourceManager.GetString("MacroFunctionExpander__UsedTemporaryVariable", resourceCulture);
590590+ }
591591+ }
592592+593593+ /// <summary>
594594+ /// Looks up a localized string similar to MacroFunctionExpander expected reference to function, got {0} instead..
595595+ /// </summary>
596596+ public static string MacroFunctionExpander_ExpectedFunctionReference {
597597+ get {
598598+ return ResourceManager.GetString("MacroFunctionExpander_ExpectedFunctionReference", resourceCulture);
599599+ }
600600+ }
601601+602602+ /// <summary>
603603+ /// Looks up a localized string similar to The macro function {0} was called from function {1} but is not available at compile time (from module {2})..
604604+ /// </summary>
605605+ public static string MacroFunctionExpander_MacroFunctionNotAvailable {
606606+ get {
607607+ return ResourceManager.GetString("MacroFunctionExpander_MacroFunctionNotAvailable", resourceCulture);
608608+ }
609609+ }
610610+611611+ /// <summary>
612612+ /// Looks up a localized string similar to Partial macro must return a boolean value, indicating whether it can handle the partial application. Assuming it cannot..
613613+ /// </summary>
614614+ public static string MacroFunctionExpander_PartialMacroMustIndicateSuccessWithBoolean {
615615+ get {
616616+ return ResourceManager.GetString("MacroFunctionExpander_PartialMacroMustIndicateSuccessWithBoolean", resourceCulture);
617617+ }
618618+ }
619619+620620+ /// <summary>
621621+ /// Looks up a localized string similar to Exception during expansion of macro {0} in function {1}: {2}.
622622+ /// </summary>
623623+ public static string MacroSession_ExceptionDuringExpansionOfMacro {
624624+ get {
625625+ return ResourceManager.GetString("MacroSession_ExceptionDuringExpansionOfMacro", resourceCulture);
626626+ }
627627+ }
628628+629629+ /// <summary>
630630+ /// Looks up a localized string similar to The macro {0} cannot be applied partially..
631631+ /// </summary>
632632+ public static string MacroSession_MacroCannotBeAppliedPartially {
633633+ get {
634634+ return ResourceManager.GetString("MacroSession_MacroCannotBeAppliedPartially", resourceCulture);
635635+ }
636636+ }
637637+638638+ /// <summary>
639639+ /// Looks up a localized string similar to AstMacroInvocation.EmitCode is not reentrant. The invocation node for the macro {0} has been expanded already. Use GetCopy() to operate on a copy of this macro invocation..
640640+ /// </summary>
641641+ public static string MacroSession_MacroNotReentrant {
642642+ get {
643643+ return ResourceManager.GetString("MacroSession_MacroNotReentrant", resourceCulture);
644644+ }
645645+ }
646646+647647+ /// <summary>
648648+ /// Looks up a localized string similar to Cannot apply {0} as a macro at compile time..
649649+ /// </summary>
650650+ public static string MacroSession_NotAMacro {
651651+ get {
652652+ return ResourceManager.GetString("MacroSession_NotAMacro", resourceCulture);
653653+ }
654654+ }
655655+656656+ /// <summary>
657657+ /// Looks up a localized string similar to A MetaEntry list must not contain null references..
658658+ /// </summary>
659659+ public static string MetaEntry_NullReferenceInList {
660660+ get {
661661+ return ResourceManager.GetString("MetaEntry_NullReferenceInList", resourceCulture);
662662+ }
663663+ }
664664+665665+ /// <summary>
666666+ /// Looks up a localized string similar to Module id cannot be null or empty..
667667+ /// </summary>
668668+ public static string ModuleName_Module_id_cannot_be_null_or_empty_ {
669669+ get {
670670+ return ResourceManager.GetString("ModuleName_Module_id_cannot_be_null_or_empty_", resourceCulture);
671671+ }
672672+ }
673673+674674+ /// <summary>
675675+ /// Looks up a localized string similar to Must supply an object to be transported to {0}..
676676+ /// </summary>
677677+ public static string Pack_Usage_obj_missing {
678678+ get {
679679+ return ResourceManager.GetString("Pack_Usage_obj_missing", resourceCulture);
680680+ }
681681+ }
682682+683683+ /// <summary>
684684+ /// Looks up a localized string similar to Cannot create a reference to a {0}..
685685+ /// </summary>
686686+ public static string Parser__assembleReference_CannotCreateReferenceToSymbol {
687687+ get {
688688+ return ResourceManager.GetString("Parser__assembleReference_CannotCreateReferenceToSymbol", resourceCulture);
689689+ }
690690+ }
691691+692692+ /// <summary>
693693+ /// Looks up a localized string similar to Macro definition is not an LValue (necessary for it to be converted to a partial application).
694694+ /// </summary>
695695+ public static string Parser__assembleReference_MacroDefinitionNotLValue {
696696+ get {
697697+ return ResourceManager.GetString("Parser__assembleReference_MacroDefinitionNotLValue", resourceCulture);
698698+ }
699699+ }
700700+701701+ /// <summary>
702702+ /// Looks up a localized string similar to The symbol {0} is not defined..
703703+ /// </summary>
704704+ public static string Parser__assembleReference_SymbolNotDefined {
705705+ get {
706706+ return ResourceManager.GetString("Parser__assembleReference_SymbolNotDefined", resourceCulture);
707707+ }
708708+ }
709709+710710+ /// <summary>
711711+ /// Looks up a localized string similar to Cannot use {0} like a constructor..
712712+ /// </summary>
713713+ public static string Parser__CannotUseExpressionAsAConstructor {
714714+ get {
715715+ return ResourceManager.GetString("Parser__CannotUseExpressionAsAConstructor", resourceCulture);
716716+ }
717717+ }
718718+719719+ /// <summary>
720720+ /// Looks up a localized string similar to Failed to transform object creation expression..
721721+ /// </summary>
722722+ public static string Parser__fallbackObjectCreation_Failed {
723723+ get {
724724+ return ResourceManager.GetString("Parser__fallbackObjectCreation_Failed", resourceCulture);
725725+ }
726726+ }
727727+728728+ /// <summary>
729729+ /// Looks up a localized string similar to Unknown operator alias in assembler code: {0}.{1}.
730730+ /// </summary>
731731+ public static string Parser_addOpAlias_Unknown {
732732+ get {
733733+ return ResourceManager.GetString("Parser_addOpAlias_Unknown", resourceCulture);
734734+ }
735735+ }
736736+737737+ /// <summary>
738738+ /// Looks up a localized string similar to Cannot parse message symbol from {0}..
739739+ /// </summary>
740740+ public static string Parser_Cannot_parse_message_symbol {
741741+ get {
742742+ return ResourceManager.GetString("Parser_Cannot_parse_message_symbol", resourceCulture);
743743+ }
744744+ }
745745+746746+ /// <summary>
747747+ /// Looks up a localized string similar to Cannot parse source position from {0}..
748748+ /// </summary>
749749+ public static string Parser_Cannot_parse_source_position {
750750+ get {
751751+ return ResourceManager.GetString("Parser_Cannot_parse_source_position", resourceCulture);
752752+ }
753753+ }
754754+755755+ /// <summary>
756756+ /// Looks up a localized string similar to Cannot parse symbol from {0}..
757757+ /// </summary>
758758+ public static string Parser_Cannot_parse_symbol_from {
759759+ get {
760760+ return ResourceManager.GetString("Parser_Cannot_parse_symbol_from", resourceCulture);
761761+ }
762762+ }
763763+764764+ /// <summary>
765765+ /// Looks up a localized string similar to Cannot expand {0} at compile time..
766766+ /// </summary>
767767+ public static string Parser_CannotExpandAtCompileTime {
768768+ get {
769769+ return ResourceManager.GetString("Parser_CannotExpandAtCompileTime", resourceCulture);
770770+ }
771771+ }
772772+773773+ /// <summary>
774774+ /// Looks up a localized string similar to Namespace {0} cannot be extended because it is a merged view of two originally distinct namespaces..
775775+ /// </summary>
776776+ public static string Parser_CannotExtendMergedNamespace {
777777+ get {
778778+ return ResourceManager.GetString("Parser_CannotExtendMergedNamespace", resourceCulture);
779779+ }
780780+ }
781781+782782+ /// <summary>
783783+ /// Looks up a localized string similar to Could not find previous declaration for symbol {0}..
784784+ /// </summary>
785785+ public static string Parser_Could_not_find_previous_declaration {
786786+ get {
787787+ return ResourceManager.GetString("Parser_Could_not_find_previous_declaration", resourceCulture);
788788+ }
789789+ }
790790+791791+ /// <summary>
792792+ /// Looks up a localized string similar to The declaration type should be followed by a colon (e.g., `declare ref var: x;`).
793793+ /// </summary>
794794+ public static string Parser_DeclarationTypeShouldBeFollowedByColon {
795795+ get {
796796+ return ResourceManager.GetString("Parser_DeclarationTypeShouldBeFollowedByColon", resourceCulture);
797797+ }
798798+ }
799799+800800+ /// <summary>
801801+ /// Looks up a localized string similar to Cannot execute build block. Errors detected.
802802+ /// </summary>
803803+ public static string Parser_ErrorsInBuildBlock {
804804+ get {
805805+ return ResourceManager.GetString("Parser_ErrorsInBuildBlock", resourceCulture);
806806+ }
807807+ }
808808+809809+ /// <summary>
810810+ /// Looks up a localized string similar to Exception during compilation and execution of build block.
811811+ ///{0}.
812812+ /// </summary>
813813+ public static string Parser_exception_in_build_block {
814814+ get {
815815+ return ResourceManager.GetString("Parser_exception_in_build_block", resourceCulture);
816816+ }
817817+ }
818818+819819+ /// <summary>
820820+ /// Looks up a localized string similar to Found namespace, expected actual entity..
821821+ /// </summary>
822822+ public static string Parser_ExpectedEntityFoundNamespace {
823823+ get {
824824+ return ResourceManager.GetString("Parser_ExpectedEntityFoundNamespace", resourceCulture);
825825+ }
826826+ }
827827+828828+ /// <summary>
829829+ /// Looks up a localized string similar to Expected {0} to be a namespace. Was {1}..
830830+ /// </summary>
831831+ public static string Parser_NamespaceExpected {
832832+ get {
833833+ return ResourceManager.GetString("Parser_NamespaceExpected", resourceCulture);
834834+ }
835835+ }
836836+837837+ /// <summary>
838838+ /// Looks up a localized string similar to relativeNsId cannot be empty.
839839+ /// </summary>
840840+ public static string Parser_relativeNsId_empty {
841841+ get {
842842+ return ResourceManager.GetString("Parser_relativeNsId_empty", resourceCulture);
843843+ }
844844+ }
845845+846846+ /// <summary>
847847+ /// Looks up a localized string similar to Expected symbolic usage to be represented as an LValue..
848848+ /// </summary>
849849+ public static string Parser_SymbolicUsageAsLValue {
850850+ get {
851851+ return ResourceManager.GetString("Parser_SymbolicUsageAsLValue", resourceCulture);
852852+ }
853853+ }
854854+855855+ /// <summary>
856856+ /// Looks up a localized string similar to Cannot require outer variable to be included outside of a function. This error indicates an internal compiler error..
857857+ /// </summary>
858858+ public static string ParserAstFactory_RequireOuterVariable_Outside_function {
859859+ get {
860860+ return ResourceManager.GetString("ParserAstFactory_RequireOuterVariable_Outside_function", resourceCulture);
861861+ }
862862+ }
863863+864864+ /// <summary>
865865+ /// Looks up a localized string similar to Exiting Prx.Main normally. Press Enter to exit..
866866+ /// </summary>
867867+ public static string Program_DebugExit {
868868+ get {
869869+ return ResourceManager.GetString("Program_DebugExit", resourceCulture);
870870+ }
871871+ }
872872+873873+ /// <summary>
874874+ /// Looks up a localized string similar to //PRX
875875+ ///
876876+ ///Name prx::core/0.0;
877877+ ///References {
878878+ /// prx::prim/0.0
879879+ ///};
880880+ ///
881881+ ///namespace prx.core
882882+ ///{
883883+ /// namespace seq
884884+ /// {
885885+ ///
886886+ /// }
887887+ /// export(*),prx.prim(
888888+ /// map,foldl,foldr,sort,all => to_list, where => filter, skip,take,
889889+ /// count,distinct,union,unique,frequency,groupby,intersect,each,exists,forall,
890890+ /// takewhile,except,range, reverse, headtail, append, sum, contains,
891891+ /// create_enumerator,seqconcat);
892892+ ///
893893+ /// namespace nonstrict
894894+ /// {
895895+ ///
896896+ /// }
897897+ /// export(*),prx.prim(thunk,asthunk => to_thunk,force,toseq => to_seq);
898898+ ///
899899+ /// namespace rt
900900+ /// {
901901+ /// [rest of string was truncated]";.
902902+ /// </summary>
903903+ public static string prx_core {
904904+ get {
905905+ return ResourceManager.GetString("prx_core", resourceCulture);
906906+ }
907907+ }
908908+909909+ /// <summary>
910910+ /// Looks up a localized string similar to // Primitive operations built into the implementation.
911911+ ///// Implementation detail. Take dependency at your own risk.
912912+ ///Name prx::prim;
913913+ ///
914914+ ///namespace prx.prim
915915+ ///{
916916+ /// declare(
917917+ /// print = ref command "print",
918918+ /// println = ref command "println",
919919+ /// meta = ref command "meta",
920920+ /// boxed = ref command "boxed",
921921+ /// string_concat = ref command "string_concat",
922922+ /// map = ref command "map",
923923+ /// select = ref command "select",
924924+ /// foldl = ref command "foldl",
925925+ /// foldr = ref command "foldr",
926926+ /// dispose = ref command "dispose" [rest of string was truncated]";.
927927+ /// </summary>
928928+ public static string prx_prim {
929929+ get {
930930+ return ResourceManager.GetString("prx_prim", resourceCulture);
931931+ }
932932+ }
933933+934934+ /// <summary>
935935+ /// Looks up a localized string similar to {0} can only be used in a macro context..
936936+ /// </summary>
937937+ public static string Reference_can_only_be_used_in_a_macro_context {
938938+ get {
939939+ return ResourceManager.GetString("Reference_can_only_be_used_in_a_macro_context", resourceCulture);
940940+ }
941941+ }
942942+943943+ /// <summary>
944944+ /// Looks up a localized string similar to {0} requires argument to be a prototype of a macro invocation..
945945+ /// </summary>
946946+ public static string Reference_requires_argument_to_be_a_prototype_of_a_macro_invocation {
947947+ get {
948948+ return ResourceManager.GetString("Reference_requires_argument_to_be_a_prototype_of_a_macro_invocation", resourceCulture);
949949+ }
950950+ }
951951+952952+ /// <summary>
953953+ /// Looks up a localized string similar to {0} requires at least one argument..
954954+ /// </summary>
955955+ public static string Reference_requires_at_least_one_argument {
956956+ get {
957957+ return ResourceManager.GetString("Reference_requires_at_least_one_argument", resourceCulture);
958958+ }
959959+ }
960960+961961+ /// <summary>
962962+ /// Looks up a localized string similar to Cannot create reference to a value (references are values too).
963963+ /// </summary>
964964+ public static string ReferenceTransformer_CannotCreateReferenceToValue {
965965+ get {
966966+ return ResourceManager.GetString("ReferenceTransformer_CannotCreateReferenceToValue", resourceCulture);
967967+ }
968968+ }
969969+970970+ /// <summary>
971971+ /// Looks up a localized string similar to Cannot create a reference to the definition of a macro or partial application..
972972+ /// </summary>
973973+ public static string ReferenceTransformer_HandleExpand_CannotCreateReferenceToDefinitionOfMacroOrPartialApplication {
974974+ get {
975975+ return ResourceManager.GetString("ReferenceTransformer_HandleExpand_CannotCreateReferenceToDefinitionOfMacroOrParti" +
976976+ "alApplication", resourceCulture);
977977+ }
978978+ }
979979+980980+ /// <summary>
981981+ /// Looks up a localized string similar to File path reference not allowed when just registering a module. Consider using ISelfAssemblingPlan.AssembleAsync instead..
982982+ /// </summary>
983983+ public static string SelfAssemblingPlan__forbidFileRefSpec_notallowed {
984984+ get {
985985+ return ResourceManager.GetString("SelfAssemblingPlan__forbidFileRefSpec_notallowed", resourceCulture);
986986+ }
987987+ }
988988+989989+ /// <summary>
990990+ /// Looks up a localized string similar to Must be one of RecurseIntoFileSystem or RegisterOnly..
991991+ /// </summary>
992992+ public static string SelfAssemblingPlan_performCreateTargetDescription_mode {
993993+ get {
994994+ return ResourceManager.GetString("SelfAssemblingPlan_performCreateTargetDescription_mode", resourceCulture);
995995+ }
996996+ }
997997+998998+ /// <summary>
999999+ /// Looks up a localized string similar to A preflight parse request must come with a resolved path..
10001000+ /// </summary>
10011001+ public static string SelfAssemblingPlan_RefSepcMustHaveResolvedPathForPreflightOrder {
10021002+ get {
10031003+ return ResourceManager.GetString("SelfAssemblingPlan_RefSepcMustHaveResolvedPathForPreflightOrder", resourceCulture);
10041004+ }
10051005+ }
10061006+10071007+ /// <summary>
10081008+ /// Looks up a localized string similar to The Source field of the refSpec parameter must not be null..
10091009+ /// </summary>
10101010+ public static string SelfAssemblingPlan_RefSpecMustHaveSource {
10111011+ get {
10121012+ return ResourceManager.GetString("SelfAssemblingPlan_RefSpecMustHaveSource", resourceCulture);
10131013+ }
10141014+ }
10151015+10161016+ /// <summary>
10171017+ /// Looks up a localized string similar to // Runtime component of the Prexonite shell scripting extensions
10181018+ ///Name sh/0.0;
10191019+ ///References {
10201020+ /// sys/0.0
10211021+ ///};
10221022+ ///
10231023+ ///namespace sh {
10241024+ ///
10251025+ /// function stdout = "sh.stdout";
10261026+ /// function stdin = "sh.stdin";
10271027+ /// function stderr = "sh.stderr";
10281028+ ///} export(stdout, stdin, stderr, stream, lines, words, which, create_command, call\sh, (|>), (<|.), (|>.));
10291029+ ///
10301030+ ///{
10311031+ /// var time = new command(which("time"));
10321032+ /// var grep = new command(which("grep"));
10331033+ /// var tr = new command(which("tr"));
10341034+ /// var cut = new command(which("cu [rest of string was truncated]";.
10351035+ /// </summary>
10361036+ public static string sh {
10371037+ get {
10381038+ return ResourceManager.GetString("sh", resourceCulture);
10391039+ }
10401040+ }
10411041+10421042+ /// <summary>
10431043+ /// Looks up a localized string similar to Cannot take a reference to a reference. Too many arrows ("->")..
10441044+ /// </summary>
10451045+ public static string SymbolBuilder_TooManyArrows {
10461046+ get {
10471047+ return ResourceManager.GetString("SymbolBuilder_TooManyArrows", resourceCulture);
10481048+ }
10491049+ }
10501050+10511051+ /// <summary>
10521052+ /// Looks up a localized string similar to Cannot convert bare reference to symbol entry..
10531053+ /// </summary>
10541054+ public static string SymbolEntryConversion_BareReference {
10551055+ get {
10561056+ return ResourceManager.GetString("SymbolEntryConversion_BareReference", resourceCulture);
10571057+ }
10581058+ }
10591059+10601060+ /// <summary>
10611061+ /// Looks up a localized string similar to Only expansion symbols wrapping simple references can be converted to a SymbolEntry..
10621062+ /// </summary>
10631063+ public static string SymbolEntryConversion_ExpansionSymbolTooComplex {
10641064+ get {
10651065+ return ResourceManager.GetString("SymbolEntryConversion_ExpansionSymbolTooComplex", resourceCulture);
10661066+ }
10671067+ }
10681068+10691069+ /// <summary>
10701070+ /// Looks up a localized string similar to Cannot convert a macro instance symbol to a legacy SymbolEntry..
10711071+ /// </summary>
10721072+ public static string SymbolEntryConversion_MacroInstance_not_supported {
10731073+ get {
10741074+ return ResourceManager.GetString("SymbolEntryConversion_MacroInstance_not_supported", resourceCulture);
10751075+ }
10761076+ }
10771077+10781078+ /// <summary>
10791079+ /// Looks up a localized string similar to Message symbol was not handled before conversion to a legacy SymbolEntry.
10801080+ /// </summary>
10811081+ public static string SymbolEntryConversion_MessageSymbol_cannot_be_converted_to_SymbolEntry {
10821082+ get {
10831083+ return ResourceManager.GetString("SymbolEntryConversion_MessageSymbol_cannot_be_converted_to_SymbolEntry", resourceCulture);
10841084+ }
10851085+ }
10861086+10871087+ /// <summary>
10881088+ /// Looks up a localized string similar to Cannot convert namespace to symbol entry..
10891089+ /// </summary>
10901090+ public static string SymbolEntryConversion_Namespace {
10911091+ get {
10921092+ return ResourceManager.GetString("SymbolEntryConversion_Namespace", resourceCulture);
10931093+ }
10941094+ }
10951095+10961096+ /// <summary>
10971097+ /// Looks up a localized string similar to Cannot convert nil symbol to symbol entry..
10981098+ /// </summary>
10991099+ public static string SymbolEntryConversion_Nil {
11001100+ get {
11011101+ return ResourceManager.GetString("SymbolEntryConversion_Nil", resourceCulture);
11021102+ }
11031103+ }
11041104+11051105+ /// <summary>
11061106+ /// Looks up a localized string similar to Legacy symbol entry cannot express arbitrary dereference symbol modifiers..
11071107+ /// </summary>
11081108+ public static string SymbolEntryConversion_No_arbirtrary_dereference {
11091109+ get {
11101110+ return ResourceManager.GetString("SymbolEntryConversion_No_arbirtrary_dereference", resourceCulture);
11111111+ }
11121112+ }
11131113+11141114+ /// <summary>
11151115+ /// Looks up a localized string similar to The symbol handler {0} cannot handle symbols of type {1}..
11161116+ /// </summary>
11171117+ public static string SymbolHandler_CannotHandleSymbolOfType {
11181118+ get {
11191119+ return ResourceManager.GetString("SymbolHandler_CannotHandleSymbolOfType", resourceCulture);
11201120+ }
11211121+ }
11221122+11231123+ /// <summary>
11241124+ /// Looks up a localized string similar to Symbolic reference must consist of at least one symbol name..
11251125+ /// </summary>
11261126+ public static string SymbolMExprParser_EmptySymbolicReference {
11271127+ get {
11281128+ return ResourceManager.GetString("SymbolMExprParser_EmptySymbolicReference", resourceCulture);
11291129+ }
11301130+ }
11311131+11321132+ /// <summary>
11331133+ /// Looks up a localized string similar to //PRX
11341134+ ///
11351135+ ///Name sys/0.0;
11361136+ ///References {
11371137+ /// prx::prim/0.0,
11381138+ /// prx::core/0.0
11391139+ ///};
11401140+ ///
11411141+ ///// Re-export prx.prim from sys. We want to keep the existence of the prx.prim module
11421142+ ///// a secret.
11431143+ ///namespace prx.prim {}
11441144+ ///export prx.prim.*;
11451145+ ///
11461146+ ///// prx.core is the part of the standard library that even other parts of the standard
11471147+ ///// library depend on.
11481148+ ///// For the moment, prx.core gets dumped directly into sys.
11491149+ ///// In case of backwards-incompatible changes in the future, sys would maintain the old.
11501150+ ///// behavior while prx.core wo [rest of string was truncated]";.
11511151+ /// </summary>
11521152+ public static string sys {
11531153+ get {
11541154+ return ResourceManager.GetString("sys", resourceCulture);
11551155+ }
11561156+ }
11571157+11581158+ /// <summary>
11591159+ /// Looks up a localized string similar to Cannot resolve symbol in unscoped AST factory. This error message indicates a misuse of the Prexonite compile-time API..
11601160+ /// </summary>
11611161+ public static string UnscopedFactory_API_Misuse_symbol_resolve {
11621162+ get {
11631163+ return ResourceManager.GetString("UnscopedFactory_API_Misuse_symbol_resolve", resourceCulture);
11641164+ }
11651165+ }
11661166+11671167+ /// <summary>
11681168+ /// Looks up a localized string similar to Variable id must not be empty..
11691169+ /// </summary>
11701170+ public static string VariableDeclaration_Variable_id_must_not_be_empty {
11711171+ get {
11721172+ return ResourceManager.GetString("VariableDeclaration_Variable_id_must_not_be_empty", resourceCulture);
11731173+ }
11741174+ }
11751175+ }
11761176+}