daily update on 20250214 by nitload youmu, building syntax analysor, tough!

This commit is contained in:
Nitload
2025-02-14 13:30:17 +08:00
parent c23b640cae
commit ccef0de6f6
68 changed files with 2594 additions and 913 deletions
@@ -30,13 +30,15 @@
//-----------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Frozen;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.CompilerServices;
using System.Text;
namespace StgSharp.Script.Express
{
public class ExpConstantCollectionSource : IExpImmutableElement
public sealed class ExpConstantCollectionSource : ExpImmutableElementBase
{
private Dictionary<string, ExpElementInstanceBase> _constants;
@@ -50,23 +52,23 @@ namespace StgSharp.Script.Express
ExpCompile.Multiplexer );
}
public static Dictionary<string, ExpElementInstanceBase> BuiltinConst => ExpCompile.BuiltinConst;
public override ExpElementType ElementType => ExpElementType.Const;
public ExpElementType ElementType => ExpElementType.Const;
public static FrozenDictionary<string, ExpElementInstanceBase> BuiltinConst => ExpCompile.BuiltinConst;
public IScriptSourceProvider SourceProvider => _sourceProvider;
public override IScriptSourceProvider SourceProvider => _sourceProvider;
public string Name
public override string Name
{
get => ExpCompile.KeyWord.Constant;
}
public virtual void Analyse()
public override void Analyse()
{
throw new NotImplementedException();
}
public ExpToken MakeReference( params object[] options )
public override ExpToken MakeReference( params object[] options )
{
if( options.Length == 0 || options[ 0 ] is not string str ) {
return null!;