dmolony-DiskBrowser/src/com/bytezone/diskbrowser/applefile/BasicProgram.java

70 lines
2.6 KiB
Java
Raw Normal View History

2019-08-09 23:45:49 +00:00
package com.bytezone.diskbrowser.applefile;
import com.bytezone.diskbrowser.gui.BasicPreferences;
2020-09-13 00:22:49 +00:00
// -----------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
public abstract class BasicProgram extends AbstractFile
2020-09-13 00:22:49 +00:00
// -----------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
{
static final byte ASCII_QUOTE = 0x22;
2020-12-26 08:32:40 +00:00
static final byte ASCII_DOLLAR = 0x24;
static final byte ASCII_PERCENT = 0x25;
static final byte ASCII_LEFT_BRACKET = 0x28;
2019-08-09 23:45:49 +00:00
static final byte ASCII_COLON = 0x3A;
static final byte ASCII_SEMI_COLON = 0x3B;
static final byte ASCII_CARET = 0x5E;
2019-09-04 20:44:43 +00:00
static BasicPreferences basicPreferences; // set by MenuHandler
2019-08-09 23:45:49 +00:00
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
public static void setBasicPreferences (BasicPreferences basicPreferences)
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
{
2019-09-04 20:44:43 +00:00
BasicProgram.basicPreferences = basicPreferences;
2019-08-09 23:45:49 +00:00
}
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
public BasicProgram (String name, byte[] buffer)
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
{
super (name, buffer);
}
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-09-04 20:44:43 +00:00
boolean isHighBitSet (byte value)
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
{
return (value & 0x80) != 0;
}
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
boolean isControlCharacter (byte value)
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
{
2019-09-04 20:44:43 +00:00
int val = value & 0xFF;
return val > 0 && val < 32;
2019-08-09 23:45:49 +00:00
}
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
boolean isDigit (byte value)
2020-09-13 00:22:49 +00:00
// ---------------------------------------------------------------------------------//
2019-08-09 23:45:49 +00:00
{
2020-12-26 08:32:40 +00:00
return value >= 0x30 && value <= 0x39;
}
// ---------------------------------------------------------------------------------//
boolean isLetter (byte value)
// ---------------------------------------------------------------------------------//
{
return value >= 0x41 && value <= 0x5A;
}
2020-12-29 04:39:29 +00:00
// ---------------------------------------------------------------------------------//
2020-12-26 08:32:40 +00:00
boolean isPossibleVariable (byte value)
2020-12-29 04:39:29 +00:00
// ---------------------------------------------------------------------------------//
2020-12-26 08:32:40 +00:00
{
return isDigit (value) || isLetter (value) || value == ASCII_DOLLAR
|| value == ASCII_PERCENT;
2019-08-09 23:45:49 +00:00
}
}