ostrat.pParse

package ostrat.pParse

This is the RSON package. Readable Succinct Object Notation. It could be just as accurately be described as Readable Succinct Data Notation, but that wouldn't scan as well and indicate it as a better replacement for JSON. RSON uses the standard semicolon separated statements combined with multilevel bracket hierarchy syntax familiar from C, C++, Java and JavaScript. Its main innovations over JSON and XML are allowing statements to be partitioned into comma delineated clauses, the empty statement, the empty clause and type inference. It uses a context free operator precedence hierarchy, with the exception of allowing the 4 ( - + ~ !) operator to be used as prefix operators. Beyond this it generally follows Scala syntax where this doesn't conflict with the preceding rules. Unlike Scala statements must finish with a semicolon unless it is the last statement of a file or a bracket block. Allowing statements to end with a newline introduces horrendous ambiguities unless one is willing to go completely down the significant whitespace route and I'm not sure if that could work even work for such a general purpose basic syntax.

The above allows it to combine a high level of human readability, succinctness, non-programmer / non-expert write-ability, programmer flexibility and composability and fast-parsing. The initial motivating use case was strategy games, which require huge amounts of modable date files. XML and JSON, the current defaults are simply not fit for purpose. RSON aims to break down the walls between game player, game modder, professional game artist, professional game scripter, professional imperative programming wizards in languages such as C / C++ and Rust and professional functional programming wizards in languages such as Scala, Haskell and Idris.

Attributes

Members list

Packages

Type members

Classlikes

An Identifier Token followed by 1 or more brace blocks.

An Identifier Token followed by 1 or more brace blocks.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

Extractor object for an AlphaBracketExpr with or without a square brackets followed by a single parentheses block.

Extractor object for an AlphaBracketExpr with or without a square brackets followed by a single parentheses block.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object AlphaParenth

Extractor object for an AlphaBracketExpr with a single parentheses block.

Extractor object for an AlphaBracketExpr with a single parentheses block.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Extractor object for an AlphaBracketExpr with a square brackets followed by a single parentheses block.

Extractor object for an AlphaBracketExpr with a square brackets followed by a single parentheses block.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class AsignExpr(left: AssignMemExpr, asToken: AsignToken, right: AssignMemExpr) extends CompoundExpr

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
object AsignExprName

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class AsignToken(startPosn: TextPosn) extends BlockMemToken, StatementMem

The = assignment Token.

The = assignment Token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
trait AssignMem extends StatementMem

An Assignment member can appear in the expressions either side of an asignment operator.

An Assignment member can appear in the expressions either side of an asignment operator.

Attributes

Supertypes
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
class ColonExpr
trait ColonMemExpr
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class ClausesExpr
class InfixOpExpr
class PreOpExpr
class SpacedExpr
trait ExprSeq
trait ColonOpMem
trait ClauseMem
class Dot2Token
class Dot3Token
class DotToken
class ColonToken
Show all
trait AssignMemExpr extends Expr, AssignMem

An expression that is a member of the right oe left side of an assignment expression.

An expression that is a member of the right oe left side of an assignment expression.

Attributes

Supertypes
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
class ColonExpr
trait ColonMemExpr
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class ClausesExpr
class InfixOpExpr
class PreOpExpr
class SpacedExpr
trait ExprSeq
Show all

A Token that is an AssignMem expression.

A Token that is an AssignMem expression.

Attributes

Supertypes
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
trait BlockMem extends TextSpan

This trait includes all the tokens except braces plus the Bracket syntactic blocks. The Block in the name block member is either the top level statements in the file or the statements with in a bracket block. Conceptually the source file is considered a special case of bracket block where the beginning of substitutes for the opening bracket and the end of file substitutes for the closing bracket. BlockMember has only two sub traits StatementMember and SemiToken. So a sequence of TokenOrBlocks is simply a series of tokens which has been parsed into Blocks.

This trait includes all the tokens except braces plus the Bracket syntactic blocks. The Block in the name block member is either the top level statements in the file or the statements with in a bracket block. Conceptually the source file is considered a special case of bracket block where the beginning of substitutes for the opening bracket and the end of file substitutes for the closing bracket. BlockMember has only two sub traits StatementMember and SemiToken. So a sequence of TokenOrBlocks is simply a series of tokens which has been parsed into Blocks.

Attributes

Supertypes
trait TextSpan
class Object
trait Matchable
class Any
Known subtypes
class AsignToken
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class Dot2Token
class Dot3Token
class DotToken
class ColonToken
trait Expr
class ColonExpr
trait ColonMemExpr
class ClausesExpr
class InfixOpExpr
class PreOpExpr
class SpacedExpr
trait ExprSeq
trait CompoundExpr
class AsignExpr
trait StatementMem
trait AssignMem
trait ColonOpMem
trait ClauseMem
Show all
trait BlockMemToken extends BlockMem, Token

Token that is member of a block. Includes all tokens except the brace tokens.

Token that is member of a block. Includes all tokens except the brace tokens.

Attributes

Supertypes
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
trait BlockRaw

Attributes

Supertypes
class Object
trait Matchable
class Any

A syntactic block of Statements, may be encapsulated by a file of pair of matching braces."

A syntactic block of Statements, may be encapsulated by a file of pair of matching braces."

Attributes

Supertypes
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
sealed trait Braces

Defines the types of braces and the opening and closing brace character. Eg '(' and ')' for the Parentheses object.

Defines the types of braces and the opening and closing brace character. Eg '(' and ')' for the Parentheses object.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object CurlyBraces
object Parentheses
object SquareBraces
sealed trait BracketCloseToken extends BracketToken

A closing bracket Token, The ']', ']' or ')' characters are BracketCloseTokens.

A closing bracket Token, The ']', ']' or ')' characters are BracketCloseTokens.

Attributes

Supertypes
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
sealed trait BracketOpen extends BracketToken

An opening Brace, '{', '[' or '('.

An opening Brace, '{', '[' or '('.

Attributes

Supertypes
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
sealed trait BracketToken extends Token

Attributes

Supertypes
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Known subtypes
case class BracketedRaws(statements: RArr[TextSpan], braces: Braces, startBracket: TextPosn, endBracket: TextPosn)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class BracketedStructure(statements: RArr[Statement], braces: Braces, startBracket: TextPosn, endBracket: TextPosn) extends BlockStatements

Syntactic structure consisting of a pair of matching brackets and the sequence of statements they encapsulate."

Syntactic structure consisting of a pair of matching brackets and the sequence of statements they encapsulate."

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class CharToken(startPosn: TextPosn, char: Char) extends OpExprMemToken

A Char Token.

A Char Token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class Clause(expr: ClauseMemExpr, optComma: Option[CommaToken]) extends TextSpan

Statements in RCON can be unclaused or multi comma separated. The empty Clause just contains a comma. The comma at the end of the last Clause of a Statement is optional.

Statements in RCON can be unclaused or multi comma separated. The empty Clause just contains a comma. The comma at the end of the last Clause of a Statement is optional.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
class EmptyClause
trait ClauseMem extends ColonOpMem

Can be a member of either side of a ColonExpr

Can be a member of either side of a ColonExpr

Attributes

Supertypes
trait ColonOpMem
trait AssignMem
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class ClausesExpr
class InfixOpExpr
class PreOpExpr
class SpacedExpr
class Dot2Token
class Dot3Token
class DotToken
class ColonToken
Show all

An expression that can be a member of a Clause or the expression of clause.

An expression that can be a member of a Clause or the expression of clause.

Attributes

Supertypes
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

A Token that is an Expression. Most tokens are expressions, but some are not such as braces, commas and semicolons.

A Token that is an Expression. Most tokens are expressions, but some are not such as braces, commas and semicolons.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

A Token that can be a member of a Clause.

A Token that can be a member of a Clause.

Attributes

Supertypes
trait ClauseMem
trait ColonOpMem
trait AssignMem
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
case class ClausesExpr(clauses: RArr[Clause]) extends ExprSeqNonEmpty

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class ColonExpr(left: ColonMemExpr, asToken: ColonToken, right: ColonMemExpr) extends CompoundExpr, AssignMemExpr, AssignMem

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

An expression that can be a member of a Colon expression operand.

An expression that can be a member of a Colon expression operand.

Attributes

Supertypes
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
trait ColonOpMem extends AssignMem

I think its helpful to have an expression member trait for syntax that is not expressions. So I don't think it would be helpful if say an opening brace was an expression. All Expressions are Expression members.

I think its helpful to have an expression member trait for syntax that is not expressions. So I don't think it would be helpful if say an opening brace was an expression. All Expressions are Expression members.

Attributes

Supertypes
trait AssignMem
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
trait ClauseMem
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class ClausesExpr
class InfixOpExpr
class PreOpExpr
class SpacedExpr
class Dot2Token
class Dot3Token
class DotToken
class ColonToken
trait ColonMemExpr
trait ExprSeq
Show all
case class ColonToken(startPosn: TextPosn) extends BlockMemToken, ClauseMem

The : colon Token.

The : colon Token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonOpMem
trait AssignMem
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class CommaToken(startPosn: TextPosn) extends EmptyExprToken, ClauseMemExpr

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

A compound expression. The traits sole purpose is to give an Expr, the start and end text positions from its first and last components.

A compound expression. The traits sole purpose is to give an Expr, the start and end text positions from its first and last components.

Attributes

Supertypes
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

A compound expression. The traits sole purpose is to give an Expr, the start and end text positions from its first and last components.

A compound expression. The traits sole purpose is to give an Expr, the start and end text positions from its first and last components.

Attributes

Supertypes
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
object CurlyBlock

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
CurlyBlock.type
case object CurlyBraces extends Braces

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Braces
class Object
trait Matchable
class Any
Show all
Self type
case class CurlyCloseToken(startPosn: TextPosn) extends BracketCloseToken

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class CurlyOpenToken(startPosn: TextPosn) extends BracketOpen

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BracketOpen
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
final case class DeciFracNegToken(startPosn: TextPosn, dgs1: String, dgs2: String, trail: String) extends DeciFracToken

Negative Decimal fractional fixed point number token.

Negative Decimal fractional fixed point number token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
final case class DeciFracPosToken(startPosn: TextPosn, dgs1: String, dgs2: String, trail: String) extends DeciFracToken, ValidPosFracToken, DigitSeqsCode

Positive Decimal fractional fixed point token.

Positive Decimal fractional fixed point token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

Decimal fractional fixed point token.

Decimal fractional fixed point token.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Sequence of point separated number sequences. Includes fixed point decimal numbers, IPv4 notation nad version nunbers.

Sequence of point separated number sequences. Includes fixed point decimal numbers, IPv4 notation nad version nunbers.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
case class Dot2Token(startPosn: TextPosn) extends ClauseMemToken

The double Dot or Stop Token.

The double Dot or Stop Token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonOpMem
trait AssignMem
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class Dot3Token(startPosn: TextPosn) extends ClauseMemToken

The triple Dot or Stop Token.

The triple Dot or Stop Token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonOpMem
trait AssignMem
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class DotToken(startPosn: TextPosn) extends ClauseMemToken

The Dot or Stop Token.

The Dot or Stop Token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonOpMem
trait AssignMem
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

Empty Clause class, represented by just a comma.

Empty Clause class, represented by just a comma.

Attributes

Companion
object
Supertypes
class Clause
trait Serializable
trait Product
trait Equals
trait TextSpan
class Object
trait Matchable
class Any
Show all
object EmptyClause

Factory object for the empty clause. Not sure if it is necessary

Factory object for the empty clause. Not sure if it is necessary

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
case object EmptyStringExpr extends Expr

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Self type
trait Expr extends BlockMem, StatementMem

The fundamental expression trait. As it currently stands properly formed Statements either is empty or contains an expression or a sequence of clauses that contain each contain an expression.

The fundamental expression trait. As it currently stands properly formed Statements either is empty or contains an expression or a sequence of clauses that contain each contain an expression.

Attributes

Supertypes
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
class ColonExpr
trait ColonMemExpr
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class ClausesExpr
class InfixOpExpr
class PreOpExpr
class SpacedExpr
trait ExprSeq
trait CompoundExpr
class AsignExpr
Show all
trait ExprSeq extends ColonMemExpr

An ExprSeq can be a sequence of Statements or a Sequence of Clauses.

An ExprSeq can be a sequence of Statements or a Sequence of Clauses.

Attributes

Supertypes
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

An ExprSeq can be a sequence of Statements or a Sequence of Clauses.

An ExprSeq can be a sequence of Statements or a Sequence of Clauses.

Attributes

Companion
object
Supertypes
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
case class FileStatements(statements: RArr[Statement]) extends BlockStatements

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
final case class FloatPtNegToken(startPosn: TextPosn, dgs1: String, dgs2: String, expPos: Boolean, expStr: String, trail: String) extends FloatPtToken

Negative Floating point fractional number token.

Negative Floating point fractional number token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait FloatPtToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
final case class FloatPtPosToken(startPosn: TextPosn, dgs1: String, dgs2: String, expPos: Boolean, expStr: String, trail: String) extends FloatPtToken

Positive Floaiting point fractional number token.

Positive Floaiting point fractional number token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait FloatPtToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
trait FloatPtToken extends DeciFracToken

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
case class HashAlphaToken(startPosn: TextPosn, srcStr: String) extends ClauseMemExprToken

The purpose of this token is for use at the beginning of a file, to make the the rest of the Statements, sub-statements. As if they were the statements inside parenthesis.

The purpose of this token is for use at the beginning of a file, to make the the rest of the Statements, sub-statements. As if they were the statements inside parenthesis.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

An identifier beginning with a lowercase that is not a valid raw Base32 or hexadecimal token.

An identifier beginning with a lowercase that is not a valid raw Base32 or hexadecimal token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class IdentLowerHexaToken(startPosn: TextPosn, srcStr: String) extends IdentLowerToken

An identifier beginning with a lowercase that is a valid raw hexadecimal and raw Base32 token.

An identifier beginning with a lowercase that is a valid raw hexadecimal and raw Base32 token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class IdentLowerOnlyToken(startPosn: TextPosn, srcStr: String) extends IdentLowerToken

An identifier beginning with a lowercase that is not a valid raw Base32 or hexadecimal token.

An identifier beginning with a lowercase that is not a valid raw Base32 or hexadecimal token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

A valid identifier beginning with a lowercase letter or an underscore character.

A valid identifier beginning with a lowercase letter or an underscore character.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Extractor function object for IdentLowerToken type.

Extractor function object for IdentLowerToken type.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
case class IdentUnderToken(startPosn: TextPosn, srcStr: String) extends IdentifierToken

An identifier token beginning with an underscore character.

An identifier token beginning with an underscore character.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class IdentUpperBase32OnlyToken(startPosn: TextPosn, srcStr: String) extends IdentUpperBase32Token

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

An alphanumeric token beginning with an alphabetic character that most commonly represents a name of something, but is also a valid raw Base32 Token.

An alphanumeric token beginning with an alphabetic character that most commonly represents a name of something, but is also a valid raw Base32 Token.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

An identifier beigning with an upper case letter that is also a valid raw hexadecimal token.

An identifier beigning with an upper case letter that is also a valid raw hexadecimal token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class IdentUpperOnlyToken(startPosn: TextPosn, srcStr: String) extends IdentUpperToken

An identifier beginning with a upper case that is not a valid raw Base32 or hexadecimal token.

An identifier beginning with a upper case that is not a valid raw Base32 or hexadecimal token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

An alphanumeric identifier token beginning with an upper case alphabetic character.

An alphanumeric identifier token beginning with an upper case alphabetic character.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Extractor function object for IdentUpperToken type.

Extractor function object for IdentUpperToken type.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

An alphanumeric token beginning with an alphabetic character that normally represents a name of something, that identifies something.

An alphanumeric token beginning with an alphabetic character that normally represents a name of something, that identifies something.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Extractor object for IdentifierToken.

Extractor object for IdentifierToken.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
object IntExpr

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
IntExpr.type

Common trait for RawBase10Token, NatOxToken and NatOyToken has the getIntStd method. This is the trait you would use in general purpose programming language, where raw hexadecimal and raw Bse32 numbers are disallowed.

Common trait for RawBase10Token, NatOxToken and NatOyToken has the getIntStd method. This is the trait you would use in general purpose programming language, where raw hexadecimal and raw Bse32 numbers are disallowed.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
class Nat0yToken
trait NatStdToken
class Nat0xToken
Show all
object IntStdToken

Companion object for the IntStdToken trait, only contains an unapply method.

Companion object for the IntStdToken trait, only contains an unapply method.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
class NamedExprSeq(val name: String)

Extractor object for an Expre sequence with a name to be applied to ALphaBracket expressions.

Extractor object for an Expre sequence with a name to be applied to ALphaBracket expressions.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object NamedExprSeq

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
case class Nat0xToken(startPosn: TextPosn, digitsStr: String) extends NatStdToken, ValidHexaIntToken

A hexadecimal token with a leading "0x", that can be used for standard 32 bit Ints, 64 bit Longs, as well as less used integer formats such as BigInteger and Byte. This is in accord with the principle that RSON at the Token and AST (Abstract Syntax Tree) levels stores data not code, although of course at the higher semantic levels it can be used very well for programming languages.

A hexadecimal token with a leading "0x", that can be used for standard 32 bit Ints, 64 bit Longs, as well as less used integer formats such as BigInteger and Byte. This is in accord with the principle that RSON at the Token and AST (Abstract Syntax Tree) levels stores data not code, although of course at the higher semantic levels it can be used very well for programming languages.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait NatStdToken
trait IntStdToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
object Nat0xToken

Function for parsing explicit Hexadecimal Token, one that begins with the characters '0x'.

Function for parsing explicit Hexadecimal Token, one that begins with the characters '0x'.

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Nat0xToken.type
case class Nat0yToken(startPosn: TextPosn, digitsStr: String) extends IntStdToken, ValidBase32IntToken

A hexadecimal token with a leading "0y", that can be used for standard 32 bit Ints, 64 bit Longs, as well as less used integer formats such as BigInteger and Byte. This is in accord with the principle that RSON at the Token and AST (Abstract Syntax Tree) levels stores data not code, although of course at the higher semantic levels it can be used very well for programming languages.

A hexadecimal token with a leading "0y", that can be used for standard 32 bit Ints, 64 bit Longs, as well as less used integer formats such as BigInteger and Byte. This is in accord with the principle that RSON at the Token and AST (Abstract Syntax Tree) levels stores data not code, although of course at the higher semantic levels it can be used very well for programming languages.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait IntStdToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
object Nat0yToken

Function for parsing explicit Hexadecimal Token, one that begins with the charchters '0y'.

Function for parsing explicit Hexadecimal Token, one that begins with the charchters '0y'.

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Nat0yToken.type

A 64 bit natural number token in standard Base10 format, but which can be inferred to be a raw Hexadecimal. It can be used for standard 32 bit Ints and 64 bit Longs, as well as less used integer formats such as Byte. This is in accord with the principle that RSON at the Token and AST (Abstract Syntax Tree) levels stores data not code, although of course at the higher semantic levels it can be used very well for programming languages.

A 64 bit natural number token in standard Base10 format, but which can be inferred to be a raw Hexadecimal. It can be used for standard 32 bit Ints and 64 bit Longs, as well as less used integer formats such as Byte. This is in accord with the principle that RSON at the Token and AST (Abstract Syntax Tree) levels stores data not code, although of course at the higher semantic levels it can be used very well for programming languages.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NatStdToken
trait IntStdToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

Common trait for RawBase10Token, NatOxToken and NatOyToken has the getIntStd method. This is the trait you would use in general purpose programming language, where raw hexadecimal and raw Bse32 numbers are disallowed.

Common trait for RawBase10Token, NatOxToken and NatOyToken has the getIntStd method. This is the trait you would use in general purpose programming language, where raw hexadecimal and raw Bse32 numbers are disallowed.

Attributes

Companion
object
Supertypes
trait IntStdToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
object NatStdToken

Companion object for the NatStdToken trait, only contains an unapply method.

Companion object for the NatStdToken trait, only contains an unapply method.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
case class NegBase10Token(startPosn: TextPosn, digitsStr: String) extends RawBase10Token, ValidRawHexaNegToken

Negative natural number token. There must be no space between the '-' character and the digits.

Negative natural number token. There must be no space between the '-' character and the digits.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait IntStdToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

A Token that can be a member of a operator expression. A Clause member that is not an operator. An OperatorToken can be a component of an operator expression which can be a member of an operator expression, but an operator can not be an operator expression member directly.

A Token that can be a member of a operator expression. A Clause member that is not an operator. An OperatorToken can be a component of an operator expression which can be a member of an operator expression, but an operator can not be an operator expression member directly.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
case class OperatorPrec0Token(startPosn: TextPosn, srcStr: String) extends OperatorToken

Operator precedence 0 Token.

Operator precedence 0 Token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class OperatorPrec1Token(startPosn: TextPosn, srcStr: String) extends OperatorToken

Operator precedence 1 Token begins with * / %.

Operator precedence 1 Token begins with * / %.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

An Operator token. Curently an expression, but I think the inheritance from Expr will be removed.

An Operator token. Curently an expression, but I think the inheritance from Expr will be removed.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
object ParenthBlock

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class ParenthCloseToken(startPosn: TextPosn) extends BracketCloseToken

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class ParenthOpenToken(startPosn: TextPosn) extends BracketOpen

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BracketOpen
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
case object Parentheses extends Braces

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Braces
class Object
trait Matchable
class Any
Show all
Self type
case class PathToken(startPosn: TextPosn, arrayUnsafe: Array[String]) extends ClauseMemExprToken

File path token.

File path token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

A raw base10 integer token, also valid as raw hexadecimal or raw base32, could be negative. Raw means not an 0x or 0y token.

A raw base10 integer token, also valid as raw hexadecimal or raw base32, could be negative. Raw means not an 0x or 0y token.

Attributes

Supertypes
trait IntStdToken
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes
case class RawBase32NatToken(startPosn: TextPosn, srcStr: String) extends ValidRawBase32NatToken

A raw natural Base32 integer token starting with a digit that is not a valid hexadecimal and hence is not a decimal number either.

A raw natural Base32 integer token starting with a digit that is not a valid hexadecimal and hence is not a decimal number either.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class RawBase32NegToken(startPosn: TextPosn, srcStr: String) extends ValidRawBase32IntToken

A raw natural Base32 integer token starting with a digit that is not a valid hexadecimal and hence is not a decimal number either.

A raw natural Base32 integer token starting with a digit that is not a valid hexadecimal and hence is not a decimal number either.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class RawHexaNatToken(startPosn: TextPosn, srcStr: String) extends ValidRawHexaNatToken

Raw hexadecimal natural number token, starting with a digit that includes one or more 'A' .. 'F' digits.

Raw hexadecimal natural number token, starting with a digit that includes one or more 'A' .. 'F' digits.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class RawHexaNegToken(startPosn: TextPosn, srcStr: String) extends ValidRawHexaNegToken

Raw hexadecimal natural number token, starting with a digit that includes one or more 'A' .. 'F' digits.

Raw hexadecimal natural number token, starting with a digit that includes one or more 'A' .. 'F' digits.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class SemicolonToken(startPosn: TextPosn) extends EmptyExprToken

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class SlashToken(startPosn: TextPosn) extends OperatorToken

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class SpacedExpr(exprs: RArr[ColonMemExpr]) extends CompoundClauseMemExpr

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
object SquareBlock

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case object SquareBraces extends Braces

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Braces
class Object
trait Matchable
class Any
Show all
Self type
case class SquareCloseToken(startPosn: TextPosn) extends BracketCloseToken

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class SquareOpenToken(startPosn: TextPosn) extends BracketOpen

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait BracketOpen
trait BracketToken
trait Token
trait TextSpan
class Object
trait Matchable
class Any
Show all
sealed trait Statement extends TextSpan

The top level compositional unit of Syntax in CRON: Compact Readable Object Notation. A statement can be claused consisting of comma separated clauses containing a single expression. An empty statement is a special case of the UnClausedStatement where the semicolon character is the expression.

The top level compositional unit of Syntax in CRON: Compact Readable Object Notation. A statement can be claused consisting of comma separated clauses containing a single expression. An empty statement is a special case of the UnClausedStatement where the semicolon character is the expression.

Attributes

Companion
object
Supertypes
trait TextSpan
class Object
trait Matchable
class Any
Known subtypes
object Statement

Companion object for the Statement trait, contains implicit extension class for List[Statement].

Companion object for the Statement trait, contains implicit extension class for List[Statement].

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Statement.type

The Semicolon of the Empty statement is the expression of this special case of the unclaused statement

The Semicolon of the Empty statement is the expression of this special case of the unclaused statement

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait TextSpan
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
trait StatementMem extends BlockMem

A statement member is a Token except the semi colon, which is the statement delimiter and the braces, plus it includes blocks, As blocks contain a sequence of Statements but can themselves be part of a statement.

A statement member is a Token except the semi colon, which is the statement delimiter and the braces, plus it includes blocks, As blocks contain a sequence of Statements but can themselves be part of a statement.

Attributes

Supertypes
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Known subtypes
class AsignToken
trait AssignMem
class ColonExpr
trait ColonMemExpr
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class ClausesExpr
class InfixOpExpr
class PreOpExpr
class SpacedExpr
trait ExprSeq
trait ColonOpMem
trait ClauseMem
class Dot2Token
class Dot3Token
class DotToken
class ColonToken
trait Expr
trait CompoundExpr
class AsignExpr
Show all
case class StatementNoneEmpty(expr: Expr, optSemi: Option[SemicolonToken]) extends Statement, TextSpanCompound

An un-claused Statement that is not the empty statement.

An un-claused Statement that is not the empty statement.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class StringStatements(statements: RArr[Statement]) extends BlockStatements

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
case class StringToken(startPosn: TextPosn, stringStr: String) extends OpExprMemToken

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
trait Syntax

Attributes

Supertypes
class Object
trait Matchable
class Any
case class SyntaxPrefs(maxLineLength: Int, multiStatement: Boolean)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait Token extends TextSpan

An RSON token.

An RSON token.

Attributes

Companion
object
Supertypes
trait TextSpan
class Object
trait Matchable
class Any
Known subtypes
class AsignToken
class CommaToken
class CharToken
class StringToken
trait FloatPtToken
trait IntStdToken
class Nat0yToken
trait NatStdToken
class Nat0xToken
class SlashToken
class PathToken
class Dot2Token
class Dot3Token
class DotToken
class ColonToken
trait BracketToken
trait BracketOpen
Show all
object Token

Companion object for Token trait contains TellDec implicit instance.

Companion object for Token trait contains TellDec implicit instance.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Token.type
case class UnderscoreToken(startPosn: TextPosn) extends EmptyExprToken, StatementMem

Underscore / wild card token.

Underscore / wild card token.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ExprSeq
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait Token
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait CompoundExpr
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all

Common trait for all tokens that can be valid hexadecimal natural numbers as well as valid base32 numbers.

Common trait for all tokens that can be valid hexadecimal natural numbers as well as valid base32 numbers.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

A valid fractional number token. Could be an integer or a fractional number.

A valid fractional number token. Could be an integer or a fractional number.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Common trait for all tokens that can be valid hexadecimal natural numbers as well as valid base32 numbers.

Common trait for all tokens that can be valid hexadecimal natural numbers as well as valid base32 numbers.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

The base trait for all integer tokens. A Natural (non negative) number Token. It contains a single property, the digitStr. The digitStr depending on the class may be interpreted in 1 to 3 ways, as a normal decimal number, a hexadecimal number, or a trigdual (base 32) number.

The base trait for all integer tokens. A Natural (non negative) number Token. It contains a single property, the digitStr. The digitStr depending on the class may be interpreted in 1 to 3 ways, as a normal decimal number, a hexadecimal number, or a trigdual (base 32) number.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

A valid non negative fractional number token

A valid non negative fractional number token

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Token for base 32 natural number. All DecimalTokens are also legal base32 tokens, as well as all raw hexadecimal tokens. Base32 , '0' .. '9', followed by 'A' .. 'W' with letter 'O' unused. Some Alpha numeric terms are valid TrigDualInts.

Token for base 32 natural number. All DecimalTokens are also legal base32 tokens, as well as all raw hexadecimal tokens. Base32 , '0' .. '9', followed by 'A' .. 'W' with letter 'O' unused. Some Alpha numeric terms are valid TrigDualInts.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Valid Raw natural number compatible with hexadecimal format. This trait exists for its natAsRawHexa method and the associated unapply method.in the companion object.

Valid Raw natural number compatible with hexadecimal format. This trait exists for its natAsRawHexa method and the associated unapply method.in the companion object.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Valid raw negative hexadecimal Int Token.

Valid raw negative hexadecimal Int Token.

Attributes

Companion
object
Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Valid raw negative hexadecimal Int Token.

Valid raw negative hexadecimal Int Token.

Attributes

Supertypes
trait Token
trait ClauseMem
trait ColonMemExpr
trait ColonOpMem
trait AssignMem
trait Expr
trait StatementMem
trait BlockMem
trait TextSpan
class Object
trait Matchable
class Any
Show all
Known subtypes

Types

type Tokens = RArr[Token]

type alias for Arr[Token] .

type alias for Arr[Token] .

Attributes

Value members

Concrete methods

Tries to parse a sequence of block members BlockMems to a sequence of Statements.

Tries to parse a sequence of block members BlockMems to a sequence of Statements.

Attributes

def isOperator(char: Char): Boolean
def srcToEStatements(input: Array[Char], inputSourceName: String): EArr[Statement]

Returns an EMon of a sequence of Statements from a file. This uses the fromString method. Non fatal exceptions or if the file doesn't exist will be returned as errors.

Returns an EMon of a sequence of Statements from a file. This uses the fromString method. Non fatal exceptions or if the file doesn't exist will be returned as errors.

Attributes

Returns an EMon of a sequence of Statements from a String.

Returns an EMon of a sequence of Statements from a String.

Attributes

def stringToTokens(srcStr: String): EArr[Token]

Max numbers for long and hexidecimal formats needs to be implemented

Max numbers for long and hexidecimal formats needs to be implemented

Attributes

def tokensToExpr(tokens: RArr[Token]): EMon[Expr]

Tries to parse a sequence of tokens to an expression Expr.

Tries to parse a sequence of tokens to an expression Expr.

Attributes

Tries to parse a sequence of Tokens to Statements.

Tries to parse a sequence of Tokens to Statements.

Attributes