This commit is contained in:
Бондарев Иван 2018-01-08 20:32:20 +01:00
parent 7864696850
commit 0e7263638e
3 changed files with 30 additions and 7 deletions

View file

@ -16,7 +16,7 @@ namespace PascalABCCompiler.Parsers
protected IParser parser;
protected string[] type_keywords_array;
protected string[] keywords_array;
protected Hashtable keywords = new Hashtable(StringComparer.CurrentCultureIgnoreCase);
protected Dictionary<string, string> keywords = new Dictionary<string, string>(StringComparer.CurrentCultureIgnoreCase);
protected Hashtable ignored_keywords = new Hashtable(StringComparer.CurrentCultureIgnoreCase);
protected Hashtable keyword_kinds = new Hashtable(StringComparer.CurrentCultureIgnoreCase);
@ -105,9 +105,30 @@ namespace PascalABCCompiler.Parsers
keywords.Add("label", "label"); keys.Add("label");
keywords.Add("property", "property"); keys.Add("property");
keywords.Add("auto", "auto"); keys.Add("auto");
//keywords.Add("typeof", "typeof"); keys.Add("typeof");
//keywords.Add("sizeof", "sizeof"); keys.Add("sizeof");
keywords_array = keys.ToArray();
keywords.Add("external", "external"); keys.Add("external");
keywords.Add("lock", "lock"); keys.Add("lock");
keywords.Add("where", "where"); keys.Add("where");
keywords.Add("library", "library"); keys.Add("library");
keywords.Add("div", "div"); keys.Add("div");
keywords.Add("mod", "mod"); keys.Add("mod");
keywords.Add("shl", "shl"); keys.Add("shl");
keywords.Add("shr", "shr"); keys.Add("shr");
keywords.Add("not", "not"); keys.Add("not");
keywords.Add("as", "as"); keys.Add("as");
keywords.Add("is", "is"); keys.Add("is");
keywords.Add("on", "on"); keys.Add("on");
keywords.Add("goto", "goto"); keys.Add("goto");
keywords.Add("overload", "overload"); keys.Add("overload");
keywords.Add("internal", "internal"); keys.Add("internal");
keywords.Add("template", "template"); keys.Add("template");
keywords.Add("namespace", "namespace"); keys.Add("namespace");
keywords.Add("exit", "exit"); keys.Add("exit");
//keywords.Add("typeof", "typeof"); //keys.Add("typeof");
//keywords.Add("sizeof", "sizeof"); //keys.Add("sizeof");
keywords_array = new string[keywords.Count + 2];
keywords_array[0] = "typeof";
keywords_array[1] = "sizeof";
keywords.Values.CopyTo(keywords_array, 2);
type_keywords_array = type_keys.ToArray();
}

View file

@ -1,12 +1,13 @@
## Building PascalABC.NET in Windows
***Run _RegisterHelix.bat on first use to install the HelixToolkit.dll and HelixToolkit.Wpf.dll in GAC***
_RebuildReleaseAndRunTests.bat builds the project in Release-mode, rebuilds the pas-units and runs tests (run with administrative privileges!).
_GenerateAllSetups.bat builds the project in Release-mode, rebuilds the pas-units, runs tests and creates the install package (run with administrative privileges!).
_ReBuildRelease.bat builds the project in Release-mode.
_ReBuildDebug.bat builds the project in Debug-mode.
_ReBuildDebug.bat builds the project in Debug-mode.
PascalABC is being developed in Visual Studio Community 2017.
@ -48,6 +49,8 @@ Tests are located in the directory "TestSuite". To run the tests execute the fil
-----------------------------------------------------------------------------------------------------
## Сборка проекта в Windows
***Перед первой компиляцией необходимо запустить _RegisterHelix.bat с правами администратора***
_RebuildReleaseAndRunTests.bat собирает проект в Release-режиме, перекомпилирует pas-модули и прогоняет все тесты (запускать с правами администратора).
_GenerateAllSetups.bat собирает инсталлят (запускать с правами администратора).

View file

@ -65,7 +65,6 @@
<Key word = "do" />
<Key word = "else" />
<Key word = "file" />
<Key word = "finnaly" />
<Key word = "for" />
<Key word = "loop" />
<Key word = "function" />