From Rosetta Code
|Languages I use|
- Bare lang tags on RC
- Reports:Tasks not implemented in PARI/GP
- Special:MostLinkedCategories/RC POP.OUT
- User:CRGreathouse/PARI GP contributors
- Useful PARI/GP tasks: Operator precedence
|Out of practice|
As of 2011-08-05, the highlighting works essentially correctly. Remaining issues:
- Types don't work. gp2c types (e.g.,
:mp) are highlighted as though they were commands, and GP types (e.g.,
"t_INT") are not highlighted at all.
- Escapes in strings are not highlighted, though they are properly detected in terms of ending strings.
- Defaults that conflict with keywords (
log) are highlighted wrong; not a big deal.
- Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
- Colors should probably be changed (my fault!); member functions and strings are too conspicuous and defaults and error types are not conspicuous enough. Maybe a desaturated green for strings and switch the blue-violet used for defaults and errors with the purple of the member functions.
- New functions, defaults, constants, etc. from 2.6 need to be added
x:real -> x^2
x->x^2 /* lambdas */
a += b <<= c >>= d -= e *= f /= g \= h \/= i %= j
Pi + Catalan + Euler \\ Is the new 2.6.0 constant highlighted?
func26 = [ellheegner,cmp,getenv] \\ Are the new 2.6.x functions working?
default(linewrap, 0) \\ Is the new 2.6.0 default working?
myFunc(x:real, y:mp, z:int)=[x,y,z]; \\ gp2c types, including one that conflicts with a function
realprecision=mp+7; \\ should not be highlighted
whatType(x)=if(type(x)=="t_INT", "integer", "something else") \\ GP types
default(realprecision, 29); \\ defaults
default(simplify, 1) \\ default that conflicts with a function
trap(gdiver, "tried to divide by 0", 1/0) \\ error type
"this is a string with embedded \"quotes\" and "a_variable" in the middle" \\ string context, embedded "
"another string, this one with a \\ in the middle, the rest shouldn't be a comment"
'this is all a giant literal_variable \\ not a quote, not an error -- though if only the first part is treated as a variable that would be fine
(x^2+1)'+1 \\ derivative of x^2+1, plus one -- nothing funny should happen to the +1
100 \ 9 *4 / 3 + 1 - 2 \\ are operators highlighted equally, even integer division?
100\9\/3 \/ 1 \\ what about without spaces, or the unusual \/ operator?
n=[1,2][9^9%2+1] \\ other operators
(a && b) || (c && d) == e++ === f-- != g;
!#~ \\ operators
Mod(3,9).mod \\ member function
quadgen(5).disc \\ another member function
Fibonacci=7 \\ should not be highlighted
| were deprecated in 2011 and became obsolete in 2013. Please use