Module erg_parser::ast
source · Expand description
defines Expr
(Expression, the minimum executing unit of Erg).
Structs
This is not necessary for Erg syntax, but necessary for mapping ASTs in Python
Application
ex.
Vec Int
of Option Vec Int
DictはキーつきArray(型としては別物)
e.g.
Data::{x = 1; y = 2}
デコレータは関数を返す関数オブジェクトならば何でも指定できる
e.g. @(x -> x)
Once the default_value is set to Some, all subsequent values must be Some
リテラルに実際の値が格納された構造体(定数畳み込み用)
ArrayやDictはまた別に
e.g.
Record can be defined with shorthend/normal mixed style, i.e. {x; y=expr; z; …}
Once the default_value is set to Some, all subsequent values must be Some
引数を取るならTypeでもSubr扱い
e.g. obj.0, obj.1
f|T := Int|
type_ascription ::= expr ‘:’ type
| expr ‘<:’ type
| expr ‘:>’ type
symbol as a left value
Enums
valid expression for an argument of polymorphic types
多相型の実引数として有効な式
Expression(式)
Some Erg functions require additional operation by the compiler.
関数定義や無名関数で使えるパターン
represents a declaration of a variable
[Int; 3]
, [Int, Ratio, Complex]
, etc.[Str: Str]
, etc.{0, 1}
(== Binary), etc.Functions
Type Definitions
type variables