* s.ToLines RenameDirectory * Исправление ToLines * Убрал из грамматики узлы await - случайно оставались * Sync `.ToLines` with `System.IO.StringReader` (#3154) * 3.9.0.3494 * add tests * #3152 * #3152 * Don't skip PCU errors in `CompileAllUnits` * fix #3155 * Create the array types outside of any unit/scope * Add `use` test * RobotField - try в блоке создания * Исправлена Range(a, b, step: real) LightPT - CheckOutput может принимать параметры типа последователльность - они будут вытягиваться в одну последовательность Для этого исправлен FlattenElement FlattenOutput применяется автоматически - его теперь не надо вызывать явно TaskLoops поправлен и упрощен в соответствии с CheckOutput * Поправлен LightPT Упрощены TasksArr.pas TasksMatr.pas TasksStr.pas * fix `GetReferenceFileName` dll copy (#3173) * Исправление зависимостей проектов (#3174) * Add workflow to build each project separately * Make `Compiler` depend on `PascalLanguage` and `PascalABCSaushkinParser` 06e595 * Make IDE's depend on `PABCNETC` It's launched as a separate process from IDE * Revert pascal language moving to language plugins (#3175) * Return Parsers folder with standard parsers and move SyntaxTreeConverters back to Core * Rename PascalLanguage project to PascalABCLanguageInfo * Fix pascal dll loading * Поправлены Tasks1Arr.pas Tasks1Begin.pas Tasks1BoolIfCase.pas * Поправил в трех проектах пути к bin LightPT - Read...(prompt) - больше комбинаций Loop_If_2_Sum в Tasks1Loops.pas * #3172 * 3.9.0.3500 Хороший коммит ) * Remove extra tests * Fix dependencies in Compiler project * LightPT - убрал CheckOutputNew TasksArr.pas, TasksStr.pas - правки * #3164 * Убрали зависимость компилятора от парсера Паскаля --------- Co-authored-by: Mikhalkovich Stanislav <miks@math.sfedu.ru> Co-authored-by: Sun Serega <sunserega2@gmail.com> Co-authored-by: Ivan Bondarev <ibond84@googlemail.com>
78 lines
1.9 KiB
Plaintext
78 lines
1.9 KiB
Plaintext
##
|
|
## DO NOT EDIT THIS FILE CARELESSLY!
|
|
## THE CONTENTS OF THIS FILE ARE STRONGLY LINKED TO THE
|
|
## CODE OF Dfsa.cs, AND ALL MUST VARY TOGETHER
|
|
##
|
|
## This frame file produces an include file for gplex
|
|
## C# output. It does not produce a stand-alone scanner
|
|
## and uses not defined symbols, or "using" declarations.
|
|
## This only works for automata with no backup states!
|
|
##
|
|
//
|
|
// Guesser.frame version 1.1.0 of 30-January-2009
|
|
//
|
|
|
|
##-->version255
|
|
##-->usingDcl
|
|
{
|
|
public enum Tokens { EndToken = 0, MaxParseToken = int.MaxValue }
|
|
|
|
public class Scanner
|
|
{
|
|
ScanBuff buffer;
|
|
|
|
enum Result {accept, noMatch, contextFound};
|
|
|
|
bool yywrap() { return true; }
|
|
|
|
public int GuessCodePage() { return Scan(); }
|
|
|
|
##-->consts
|
|
|
|
#region user code
|
|
##-->codeIncl
|
|
#endregion user code
|
|
|
|
int state;
|
|
int currentStart = startState[0];
|
|
int code;
|
|
|
|
##-->tableDef
|
|
|
|
public Scanner(System.IO.Stream file) { SetSource(file); }
|
|
|
|
public void SetSource(System.IO.Stream source)
|
|
{
|
|
this.buffer = new BuildBuffer(source);
|
|
code = buffer.Read();
|
|
}
|
|
|
|
int Scan()
|
|
{
|
|
##-->prolog
|
|
for (; ; )
|
|
{
|
|
int next;
|
|
state = currentStart;
|
|
while ((next = NextState()) == goStart)
|
|
code = buffer.Read();
|
|
|
|
state = next;
|
|
code = buffer.Read();
|
|
|
|
while ((next = NextState()) > eofNum)
|
|
{
|
|
state = next;
|
|
code = buffer.Read();
|
|
}
|
|
if (state <= maxAccept)
|
|
{
|
|
##-->actionCases
|
|
}
|
|
}
|
|
##-->epilog
|
|
}
|
|
##-->userCode
|
|
} // end class Scanner
|
|
} // end namespace
|