citrus_subject_module library
Classes
- Accesser
- resolve によって単体の値(template で利用できる値の型)を提供する.
- Accesserable
-
- UserDefined
- ChangeCaseKeyword
- Period
- AccesserableCollection
-
ex:
sample sample.snake
object.a.snake
- AheadCitrusSemantic
- 事前に実行する必要がある semantic.
- AloneBlock
- ex: (for a in textArray) (for a in object.textArray) (for a in objectArray) (true a) (true a == b) (false a) (false a == b)
- AloneBlockArgumentable
-
- InExpression
- OperatorExpression
- AccesserableCollection
- ArraySymbol
- Bind
- ex: {sample.snake} {unit} {fragment} ...etc
- BlockSandwich
-
ex:
{#for a in list}...{#for} {#true a == b}...{#true} {#false a == b}...{#false} - BlockType
- ex #for #true #false ...etc
- BlockTypeKeyword
- Boolean
- BooleanKeyword
- BranchCitrusSyntax
- Camel
- Capital
- ChangeCase
- ex: sample sample.snake object.a object.a.snake
- ChangeCaseKeyword
- CitrusArray
- CitrusArrayable
- CitrusArray のとして利用できる型.
- CitrusFlag
- CitrusLanguage
- CitrusObject
- CitrusObjectArray
- CitrusObjectUnit
- struct pattern.
- CitrusSemantic
-
CitrusSemanticList<
VT extends CitrusSemantic> - safety
- CitrusSymbol
- citrus で利用できる 特殊な変数.
-
CitrusSymbolRoster<
VT extends CitrusSymbol> - CitrusSymbolTable
- CitrusSymbolTableStruct
- CitrusSymbolValue
- struct pattern
- CitrusSyntax
-
CitrusSyntaxList<
VT extends CitrusSyntax> - safety
- CitrusText
- CitrusTextArray
- Constant
- ConstantPart
- template 内における 変化しない固定部分.
- CurlyBind
-
ex:
{permanently.snake} {temporary.snake} {object.a} {object.a.snake} {unit} {fragment} ...etc - Define
- symbol を template 内で定義する.
- DefineKeyword
- DefineObject
- DefineText
- Definition
- DerivationCitrusSyntax
- RootCitrusSyntax 以外の CitrusSyntax.
- Dot
- EndBlock
- ex {#for} {#true} {#false} ...etc
- EndCurlyBracket
- EndParenthesis
- EndValue
- template の出力として利用可能な値.
- EqualEqual
- EqualityComparison
- a == b
- EqualOperator
- False
- Figure
- Finish
- FinishCitrusSemantic
- 最後に実行する semantic.
- Flag
- flag.
- FlagSymbol
- struct pattern.
- For
- ForAloneBlock
- ex: (for a in textArray) (for a in object.textArray) (for a in objectArray)
- ForBlockSandwich
- 開始と終了に改行あり と それ以外で resolve の処理が変わる.
- FragmentDefinition
- FragmentSymbol
- struct pattern
- Frame
- FrameCitrusSemantic
- template 内の構造を変化させる semantic.
- Header
- Identifier
- Identifierable
- IfAloneBlock
- ex: (true a) (true a.b) (true a == b) (true a.b == c.d) (false a) (false a == b)
- IfBlockSandwich
- 開始と終了に改行あり と それ以外で resolve の処理が変わる.
- ImmatureCitrusSemantic
- 最終的な出力を決定しない semantic.
- In
- InExpression
-
ex:
a in b
a in object.textArray
a in objectArray
- InJoinExpression
-
ex:
a in b join c
a in object.array join c
- InvalidIdentifier
-
0~9で始まる無効な id. - InvalidOperator
- Join
- Keyword
- LeafCitrusSyntax
- ListOfIdentifierable
-
連続する識別子として利用できる文字列(a
z,AZ, _, 0~9). - ListOfOperatable
- LowercaseAlphabetA
- LowercaseAlphabetB
- LowercaseAlphabetC
- LowercaseAlphabetD
- LowercaseAlphabetE
- LowercaseAlphabetF
- LowercaseAlphabetG
- LowercaseAlphabetH
- LowercaseAlphabetI
- LowercaseAlphabetJ
- LowercaseAlphabetK
- LowercaseAlphabetL
- LowercaseAlphabetM
- LowercaseAlphabetN
- LowercaseAlphabetO
- LowercaseAlphabetP
- LowercaseAlphabetQ
- LowercaseAlphabetR
- LowercaseAlphabetS
- LowercaseAlphabetT
- LowercaseAlphabetU
- LowercaseAlphabetV
- LowercaseAlphabetW
- LowercaseAlphabetX
- LowercaseAlphabetY
- LowercaseAlphabetZ
- MatureCitrusSemantic
-
最終的な出力を決定する semantic.
- MultipleAccesser
-
accesser が複数.
- NewLine
- No
- Not
- Number0
- Number1
- Number2
- Number3
- Number4
- Number5
- Number6
- Number7
- Number8
- Number9
- ObjectArraySymbol
- struct pattern.
- ObjectDefinition
- ObjectDefinitionRoster
- ObjectDefinitionUnit
- ObjectSymbol
- struct pattern.
- ObjectValuable
- CitrusObjectUnit の value として利用できる型.
- Operatable
- Operator
- OperatorExpression
-
ex:
sampleA == sampleB
sampleA==sampleB
object.a == object.b
- OperatorExpressionVerify
- Param
- Pascal
- Path
- Period
- Protect
- ProtectBlockSandwich
- resolve 実行時に 既存の file を確認しに行き protect contentn を取得しに行く.
- ProtectContent
- file の protect された部分.
- ProtectContentRoster
- RootCitrusSemantic
- RootCitrusSyntax
- abstract syntax tree の root と同じ.
- Sentence
- Sharp
- SingleAccesser
-
accesser が1つだけ.
- Snake
- SourceSignature
- Space
- SpaceCollection
- Special
- Startable
- StartBlock
- ex: {#for x in a} {#true x == a} {#false flag} {#true object.flag} {#protect x} {#track x} ...etc
- StartBlockArgumentable
-
- InJoinExpression
- OperatorExpression
- AccesserableCollection
- StartCurlyBracket
- StartParenthesis
- Swap
- Tab
- TemplateFileSetting
- struct pattern.
- TemporarySymbol
- struct pattern.
- TemporarySymbolLaps
- iterable symbol に紐づけられた値を取り出すのに必要な数字. 必ず 1 以上の 整数であること.
- TextArraySymbol
- TextSymbol
- struct pattern
- True
- TrunkCitrusSyntax
- DerivationSyntax を入れ子にする syntax.
- Underbar
- UppercaseAlphabetA
- UppercaseAlphabetB
- UppercaseAlphabetC
- UppercaseAlphabetD
- UppercaseAlphabetE
- UppercaseAlphabetF
- UppercaseAlphabetG
- UppercaseAlphabetH
- UppercaseAlphabetI
- UppercaseAlphabetJ
- UppercaseAlphabetK
- UppercaseAlphabetL
- UppercaseAlphabetM
- UppercaseAlphabetN
- UppercaseAlphabetO
- UppercaseAlphabetP
- UppercaseAlphabetQ
- UppercaseAlphabetR
- UppercaseAlphabetS
- UppercaseAlphabetT
- UppercaseAlphabetU
- UppercaseAlphabetV
- UppercaseAlphabetW
- UppercaseAlphabetX
- UppercaseAlphabetY
- UppercaseAlphabetZ
- UserDefined
- keyword 以外の valid identifier.
- ValidIdentifier
-
a~z, A~Z, _,で始まる有効な id. - ValidOperator
- WhiteSpace
Mixins
- GetLoopTargetSpecific
- InnerCitrusSyntax
- leaf 以外の syntax
Extensions
Exceptions / Errors
- AccesserableCollectionException
- AccesserableCollectionExceptionA
- collection is empty.
- AccesserableCollectionExceptionAB
-
- AccesserableCollectionExceptionA collection is empty.
- AccesserableCollectionExceptionB keyword does not exist.
- AccesserableCollectionExceptionB
- keyword does not exist.
- AccesserError
- AccesserErrorA
- accesserable collection is empty.
- AccesserException
- AccesserExceptionA
- CitrusSymbolTableException.
- AccesserExceptionC
- first identifier final value must be citrus object.
- AccesserExceptionD
- CitrusObjectException.
- AccesserExceptionE
- three length and more is invalid.
- AccesserExceptionF
- invalid accesser because keyword exists.
- AccesserExceptionG
- Not SingleAccesser.
- AccesserExceptionH
- Not MultipleAccesser.
- BindException
- BindExceptionA
- failed get property final value.
- BindExceptionB
- get final value type is not String.
- BindExceptionC
- bind argumentable is invalid as change case.
- BooleanException
- BooleanExceptionA
- failed get left final value.
- BooleanExceptionB
- failed get right final value.
- BooleanExceptionC
- operator is not ==.
- BooleanExceptionD
- left is invalid as property name.
- BooleanExceptionE
- right is invalid as property name.
- ChangeCaseException
- ChangeCaseExceptionB
- invalid symbol value.
- CitrusLanguageError
- CitrusLanguageErrorA
- never reached proccess.
- CitrusLanguageException
- CitrusLanguageExceptionA
- CitrusSymbolException.
- CitrusLanguageExceptionB
- CitrusSymbolTableException.
- CitrusLanguageExceptionC
- FileSystemModelException.
- CitrusLanguageExceptionD
- FormatException.
- CitrusLanguageExceptionE
-
conversion to nest form failed.
before parsing, there were duplicate names.
- CitrusLanguageExceptionF
-
after parsing, there were duplicate names.
- CitrusObjectError
- CitrusObjectErrorA
- never reached proccess.
- CitrusObjectException
- CitrusObjectExceptionA
- the unit name does not exist.
- CitrusSemanticError
- CitrusSemanticErrorA
- never reached proccess.
- CitrusSemanticException
-
CitrusSemanticExceptionA change case semantic left side final value must be string type.
CitrusSemanticExceptionB property table exception.
CitrusSemanticExceptionC invalid value for condition keyword.
CitrusSemanticExceptionD invalid value for change case keyword.
CitrusSemanticExceptionE invalid value for operator.
CitrusSemanticExceptionF parse syntax to semantic failed.
CitrusSemanticExceptionG cant cast to finish citrus semantic.
CitrusSemanticExceptionHCitrusSemanticExceptionICitrusSemanticExceptionJCitrusSemanticExceptionKCitrusSemanticExceptionLCitrusSemanticExceptionMCitrusSemanticExceptionNCitrusSemanticExceptionOCitrusSemanticExceptionPCitrusSemanticExceptionQCitrusSemanticExceptionRCitrusSemanticExceptionSCitrusSemanticExceptionTCitrusSemanticExceptionUCitrusSemanticExceptionVCitrusSemanticExceptionWCitrusSemanticExceptionXCitrusSemanticExceptionYCitrusSemanticExceptionZ - CitrusSemanticExceptionA
-
change case semantic left side final value must be string type.
- CitrusSemanticExceptionB
-
property table exception.
- CitrusSemanticExceptionC
-
invalid value for condition keyword.
- CitrusSemanticExceptionD
-
invalid value for change case keyword.
- CitrusSemanticExceptionE
-
invalid value for operator.
- CitrusSemanticExceptionF
- parse syntax to semantic failed.
- CitrusSemanticExceptionG
- cant cast to finish citrus semantic.
- CitrusSymbolException
- CitrusSymbolExceptionA
- RosterPatternExceptionA.
- CitrusSymbolExceptionB
-
the property does not exist at List.update.
- CitrusSymbolTableError
- CitrusSymbolTableErrorA
- throw されるはずのない exception が throw.
- CitrusSymbolTableException
- CitrusSymbolTableExceptionA
- duplicate property name exist.
- CitrusSymbolTableExceptionB
- the property does not exist.
- CitrusSymbolTableExceptionC
- the array symbol does not exist.
- CitrusSymbolTableExceptionD
- the property name is not temporary property name.
- CitrusSymbolTableExceptionE
- the list property does not exist.
- CitrusSymbolTableExceptionF
- ChainException.
- CitrusSymbolTableExceptionG
- CitrusSymbolException.
- CitrusSymbolTableExceptionH
- duplicate object defition exists.
- CitrusSyntaxError
- CitrusSyntaxErrorA
- throw されるはずのない exception が throw.
- CitrusSyntaxException
- CitrusSyntaxExceptionA
- failed from constructor.
- DefineException
- DefineExceptionA
- CitrusSymbolTableException.
- DefineExceptionB
- ChainException.
- DefineExceptionC
- invalid block type keyword.
- DefineExceptionD
- invalid start block argumentable.
- DefineExceptionE
- identifiers length must be one.
- DefineExceptionF
- the object definition does not exist.
- DerivationCitrusSyntaxException
- EqualityComparisonException
- EqualityComparisonExceptionA
- failed get left symbol.
- EqualityComparisonExceptionB
- failed get right symbol.
- FigureException
- FigureExceptionA
- value must be other than special.
- FigureExceptionB
- value length must be one.
- FlagException
- FlagExceptionA
- end value must be citrus flag.
- ForAloneBlockException
- ForAloneBlockExceptionA
- invalid block type.
- ForAloneBlockExceptionB
- invalid alone block argumentable.
- ForAloneBlockExceptionC
- duplicate chain base.
- ForAloneBlockExceptionD
- bind value is not CitrusArray.
- ForBlockSandwichException
- ForBlockSandwichExceptionA
- block type keyword must be for.
- ForBlockSandwichExceptionE
- start block argumentable must be expression.
- ForBlockSandwichExceptionF
- property table exception.
- ForBlockSandwichExceptionJ
- semantics in block must be finish semantic.
- IfAloneBlockException
- IfAloneBlockExceptionA
- invalid operator.
- IfAloneBlockExceptionB
- invalid alone block argumentable.
- IfAloneBlockExceptionC
- invalid block type keyword.
- IfBlockSandwichException
- IfBlockSandwichExceptionA
- block type must be true or false.
- IfBlockSandwichExceptionB
- expression is invalid as boolean.
- IfBlockSandwichExceptionC
- invalid start block argumentable.
- IfBlockSandwichExceptionD
- invalid operator expression.
- IfBlockSandwichExceptionE
- semantic in if block must be finish semantic.
- ImmatureCitrusSemanticException
- LeafCitrusSyntaxException
- LeafCitrusSyntaxExceptionA
- leaf syntax value length must be one.
- MatureCitrusSemanticException
- MatureCitrusSemanticExceptionA
- invalid block type.
- ObjectArraySymbolException
- ObjectArraySymbolExceptionA
- ChainException.
- ObjectArraySymbolExceptionB
- CitrusSymbolStructValueException.
- ObjectDefinitionException
- ObjectDefinitionExceptionA
- RosterPatternExceptionA.
- ProtectBlockSandwichException
- ProtectBlockSandwichExceptionA
- block type must be true or false.
- ProtectBlockSandwichExceptionB
- block type keywrod must be protect.
- ProtectBlockSandwichExceptionC
- start argumentable must be AccesserableCollection.
- ProtectContentException
- ProtectContentExceptionA
- RosterPatternExceptionA.
- ProtectContentExceptionB
- block type keyword must be protect.
- ProtectContentExceptionC
- start block argument must be AccesserableCollection.
- SpecialException
- SpecialExceptionA
- invalid value as special.
- SpecialExceptionB
- invalid value as identifierable.
- SpecialExceptionC
- invalid value as operatable.
- SpecialExceptionD
- invalid value as white space.
- SpecialExceptionE
- invalid value as startable.
- TemporarySymbolException
- TemporarySymbolExceptionA
- over laps.