26.02.2017 / 13:02 | |
Aladdin Пользователь Сейчас: Offline
Имя: Aladdin Откуда: Uzbekistan, Xiva Регистрация: 10.03.2015
| aNNiMON, про рекурсивный спуск понял, но не знаю как парсятся Expressions например выражение word.key(arg, arg)(arg) + 25 * len(getText('resource/main.xml'))
в каких методах будет проходить, и как делится по приоритету операций? |
26.02.2017 / 13:14 | |
aRiGaTo Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| __________________
don't tread on me |
26.02.2017 / 13:30 | |
Aladdin Пользователь Сейчас: Offline
Имя: Aladdin Откуда: Uzbekistan, Xiva Регистрация: 10.03.2015
| aRiGaTo, уже читал ))
|
26.02.2017 / 13:46 | |
aNNiMON Супервизор Сейчас: Online
Имя: Витёк Регистрация: 11.01.2010
| Aladdin, что это за конструкция я не знаю word.key(arg, arg)(arg) + 25 ..., так что упрощу. word.key(arg, arg) + 25 * len(getText('resource/main.xml'))
AST AST BlockStatement ( [ word.key(a... ] ) -> block() - Statement ( word.key(a... ) -> statement() - BinaryExpression -> additive() - operator ( + ) - ContainerAccessExpression ( word.key(arg, arg) ) -> functionChain() - ValueExpression ( word : StringValue ) -> value() - ValueExpression ( key(...) : FunctionValue ) -> functionChain() - FunctionValue - FunctionalExpression -> function() - ValueExpression ( key : StringValue ) - Arguments - VariableExpression - name = "arg" - VariableExpression - name = "arg" - BinaryExpression ( 25 * len... ) -> multiplicative() - operator ( * ) - ValueExpression ( 25 ) -> value() - FunctionalExpression ( len(... ) -> function() - ValueExpression ( len : StringValue ) -> value() - Arguments - FunctionalExpression ( getText... ) -> function() - ValueExpression ( getText : StringValue ) -> value() - Arguments - ValueExpression ( "resource/main.xml" : StringValue ) -> value()https://gist.github.com/anonymous/12999e727bdaa48bea897a7f4ccd5493в каких методах будет проходить, и как делится по приоритету операций?Лучше отладчик запусти на каком-нибудь примере и посмотри какие методы вызываются. __________________
let live Изменено aNNiMON (26.02 / 13:53) (всего 6 раз) |
4.03.2017 / 19:32 | |
Aladdin Пользователь Сейчас: Offline
Имя: Aladdin Откуда: Uzbekistan, Xiva Регистрация: 10.03.2015
| aNNiMON, Собираюсь добавить такое на своем яп, вот и с тобой решил поделится идеей. Добавь записи как на паскале, будет примерно так: rec point( x, y)
ballPosition = point(10, 15)
ballPosition.x += 15
ballPosition.y += 10
а то есть крутые функциональные фичи на Ownlang, но нет возможность сделать немного сложную структуру. Изменено Aladdin (4.03 / 19:36) (всего 1 раз) |
4.03.2017 / 20:14 | |
aNNiMON Супервизор Сейчас: Online
Имя: Витёк Регистрация: 11.01.2010
| Aladdin, массивы чем тебе не структура? С ними можно много интересного делать. def point(x = 0, y = 0) = {
"x" : x,
"y" : y
}
ballPosition = point(10, 15)
ballPosition.x += 15
ballPosition.y += 10
println [ballPosition.x, ballPosition.y]
startPoint = point()
println startPoint
__________________
let live Изменено aNNiMON (4.03 / 20:22) (всего 2 раза) |
4.03.2017 / 22:38 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| На улице развивались многофункциональные и в тоже время простые языки, но народ до сих пор сидит в каменном веке и тычет в паскалеподобные, как эталон и примеры для подражания. А ещё очень ленивые люди до сих пор начинают учить программированию с паскаля, причем в элитных учебных заведениях.
__________________
знает толк |
6.03.2017 / 08:24 | |
Aladdin Пользователь Сейчас: Offline
Имя: Aladdin Откуда: Uzbekistan, Xiva Регистрация: 10.03.2015
| aNNiMON, про это не знал |
7.03.2017 / 13:30 | |
Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| Bluetooth будет?
Или это чисто для посчитать в консоли? Поддержка графики есть, вроде как можно игрульку какую сделать..
__________________
わからない!! |
7.03.2017 / 14:24 | |
aNNiMON Супервизор Сейчас: Online
Имя: Витёк Регистрация: 11.01.2010
| Витаминыч, инет есть, сокеты есть, блютуз не нужен.
__________________
let live |