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
- Anonymous
- 絶対値.
- ArraySymbol
- Asterisk
- AsteriskEscapeSequenceKeyword
- Bind
- ex: {sample.snake} {unit} {fragment} ...etc
- BlockSandwich
-
ex:
{#for a in list}...{#for} {#true a == b}...{#true} {#false a == b}...{#false} {#fragment a}...{#fragment} - 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 のとして利用できる型.
- CitrusDataType
- CitrusFlag
- CitrusLanguage
- CitrusObject
- CitrusObjectArray
- CitrusObjectUnit
- struct pattern.
- CitrusSemantic
-
CitrusSemanticList<
VT extends CitrusSemantic> - CitrusSymbol
- citrus で利用できる 特殊な変数.
-
CitrusSymbolRoster<
VT extends CitrusSymbol> - CitrusSymbolTable
- CitrusSyntax
-
CitrusSyntaxList<
VT extends CitrusSyntax> - CitrusText
- CitrusTextArray
- Constant
- ConstantPart
- template 内における 変化しない固定部分.
- CurlyBind
-
ex:
{permanently.snake} {temporary.snake} {object.a} {object.a.snake} {unit} {fragment} ...etc - Define
- symbol を template 内で定義する.
- DefineFlag
- DefineKeyword
- DefineObject
- DefineObjectArray
- DefineText
- DefineTextArray
- DerivationCitrusSyntax
- RootCitrusSyntax 以外の CitrusSyntax.
- Dot
- EndAngleBracket
- EndAngleBracketEscapeSequenceKeyword
- EndBlock
- ex {#for} {#true} {#false} {#fragment} ...etc
- EndCurlyBracket
- EndCurlyBracketEscapeSequenceKeyword
- EndParenthesis
- EndParenthesisEscapeSequenceKeyword
- EnumerationFileSetting
-
classicifation class.
yaml file からの生成(fromYamlMap)を前提としている.
したがって globalArgumentList に入る要素は GlobalArgument.name を primary key とした一意な list になる.
- EqualEqual
- EqualityComparison
- a == b
- EqualOperator
- EqualOperatorEscapeSequenceKeyword
- EscapeSequence
- ex: <NEWLINE0> <SPACE1> <TAB2> <ENDCURLYBRACKET3> <STARTCURLYBRACKET4> <ENDPARENTHESIS5> <STARTPARENTHESIS6> <ENDANGLEBRACKETS7> <STARTANGLEBRACKETS8> <EQUALOPERATOR9> <PERIOD10> <SHARP11> <UNDERBAR12> <ASTERISK13> ...etc
- EscapeSequenceKeyword
- Expression
-
- InExpression
- JoinExpression
- WithInExpression
- ExpressionCollection
-
ex:
a in b join c with d in e
- False
- Figure
-
classification class.
構文上意味を持たない character.
- Finish
- FinishCitrusSemantic
- 最後に実行する semantic.
- FlagGlobalArgument
- FlagSemantic
-
flag.
- FlagSymbol
- struct pattern.
- For
- ForAloneBlock
- ex: (for a in textArray) (for a in object.textArray) (for a in objectArray)
- ForBlockSandwich
- 開始と終了に改行あり と それ以外で resolve の処理が変わる.
- ForLoopSetting
-
for loop の設定情報を保持する.
- Fragment
- FragmentBlockSandwich
- fragment を展開する.
- FragmentSymbol
- struct pattern
- Frame
- FrameCitrusSemantic
- template 内の構造を変化させる semantic.
- GlobalArgument
- struct class.
- Header
- Identifier
- classification class.
- Identifierable
- IdentifierableCollection
-
連続する識別子として利用できる文字列(a
z,AZ, _, 0~9). - 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
- Indent
- 行の開始に存在する space collection.
- IndentConstantPart
- return 0 then result is minus.
- IndentVerify
- InExpression
-
ex:
a in b
a in object.textArray
a in objectArray
- InSetting
-
繰り返し数が決まる temporary と array の一式.
- IntegerModulus
- 整数の絶対値.
- InvalidIdentifier
-
0~9で始まる無効な id. - InvalidOperator
- Join
- JoinExpression
-
ExpressionCollection として運用するため開始時に SpaceCollection が必要.
- JoinSetting
-
繰り返しの際の境界の値を決まる.
symbol を読み込むとき escape sequecnce を解決する.
- Keyword
- LeafCitrusSyntax
- 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 が複数.
- MultipleGlobalArgument
- NewLine
- NewLineConstantPart
- NewLineEscapeSequenceKeyword
- No
- NormalConstantPart
- Not
- Number0
- Number1
- Number2
- Number3
- Number4
- Number5
- Number6
- Number7
- Number8
- Number9
- ObjectArraySymbol
- struct pattern.
- ObjectDefinition
- ObjectDefinitionRoster
- ObjectDefinitionUnit
- ObjectSymbol
- struct pattern.
- ObjectValuable
- CitrusObjectUnit の value として利用できる型.
- Operatable
- OperatableCollection
- Operator
- OperatorExpression
-
ex:
sampleA == sampleB
sampleA==sampleB
object.a == object.b
- OperatorExpressionVerify
- Param
- Pascal
- Path
- Period
- PeriodEscapeSequenceKeyword
- Protect
- ProtectBlockSandwich
- resolve 実行時に 既存の file を確認しに行き protect contentn を取得しに行く.
- ProtectContent
- file の protect された部分.
- ProtectContentRoster
- RepeatBlock
-
ex
<NEWLINE0> <SPACE1> <TAB*13> ...etc - RootCitrusSemantic
- RootCitrusSyntax
- abstract syntax tree の root と同じ.
- Sentence
- Sharp
- SharpEscapeSequenceKeyword
- SingleAccesser
-
accesser が1つだけ.
- SingleGlobalArgument
- Snake
- SourceSignature
- Space
- SpaceCollection
- SpaceEscapeSequenceKeyword
- Special
- Startable
- StartAngleBracket
- StartAngleBracketEscapeSequenceKeyword
- StartBlock
- ex: {#for a in b join c with d in e with f in g} {#true x == a} {#false flag} {#true object.flag} {#protect x} {#track x} ...etc
- StartBlockArgumentable
-
- ExpressionCollection
- OperatorExpression
- AccesserableCollection
- StartCurlyBracket
- StartCurlyBracketEscapeSequenceKeyword
- StartParenthesis
- StartParenthesisEscapeSequenceKeyword
- Swap
- TemplateFileSetting
- struct pattern.
- TemporarySymbol
- struct pattern.
- TemporarySymbolLaps
-
laps loop index laps%length(2)
1 1 0
2 2 1 0 3 1 0 1 4 2 1 0 5 1 0 1 6 2 1 0 7 1 0 1 8 2 1 0 - TextArraySymbol
- TextSymbol
- struct pattern
- True
- TrunkCitrusSyntax
- DerivationSyntax を入れ子にする syntax.
- Underbar
- UnderbarEscapeSequenceKeyword
- 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
- With
- WithInExpression
-
for loop で回す symbol を追加する.
これは collection として利用するため先頭に space collection を含める.
- WithSetting
-
付属させて繰り返す temporary と array の一式.
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.
- 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.
- 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.
- DefineExceptionG
- object definition name does not exist.
- DefineExceptionH
- define flag の値が無効.
- 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.
- FlagSemanticException
- FlagSemanticExceptionA
- 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.
- ForAloneBlockExceptionE
- chain exception.
- 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.
- ForBlockSandwichExceptionK
-
InExpression does not exist.
- ForLoopSettingException
- ForLoopSettingExceptionA
- accesser value is not CitrusArray.
- ForLoopSettingExceptionC
- InExpression does not exist.
- FragmentBlockSandwichException
- FragmentBlockSandwichExceptionA
- block type keyword must be fragment.
- FragmentBlockSandwichExceptionB
- start block argumentable must be AccesserableCollection.
- 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 special judgment character.
. - SpecialExceptionC
- invalid value as number 0 to number 9.
- SpecialExceptionD
- invalid value as number 1 to number 9.
- SpecialExceptionE
- invalid value as startable.
- TemporarySymbolException
- TemporarySymbolExceptionA
- Unable to get current value then length is zero.