/*
Компилятор языка программирования
Объектно-ориентированный продвинутый векторный транслятор
Copyright © 2021, 2024 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной
общественной лицензии GNU.
Вы должны были получить копию Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<https://www.gnu.org/licenses/>.
*/
package ru.malik.elaborarer.avtoo.lang;
public final class ElementStack(Object)
{
private int fldStackElements;
private int fldMaximumElements;
public () { }
public void reset() { fldStackElements = 0; }
public void change(int deltaElements) { setStackElements(fldStackElements + deltaElements); }
public int stackElements { read = fldStackElements, write = setStackElements }
public int maximumElements { read = fldMaximumElements }
private void setStackElements(int newStackElements) {
if(newStackElements < 0) newStackElements = 0;
if(fldMaximumElements < newStackElements) fldMaximumElements = newStackElements;
fldStackElements = newStackElements;
}
}