Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
c52f0a6
sealing example seems to work
dckc Jun 1, 2014
b693a21
Merge branch 'master' of https://github.com/monte-language/monte
dckc Jun 5, 2014
d317e67
how to test the python tests
Jun 3, 2014
d9dd4da
verbose-er test names
Jun 5, 2014
ce27eaf
Exports must be unique per package
Jun 5, 2014
5330362
operators: regression tests have been written for the operators
justinnoah Jun 2, 2014
7640cc5
unique exports, add test set to package.mt
justinnoah Jun 6, 2014
7478900
A more sensable rocket test
justinnoah Jun 6, 2014
493a808
clarify module docs
Jun 5, 2014
fb479e4
some printOns
Jun 7, 2014
86f1f2d
better wrong-verb error
Jun 7, 2014
3ead683
re-layer regions code
Jun 7, 2014
d54fe68
more better test discovery and runnage
Jun 7, 2014
23fe871
fix test
Jun 7, 2014
cc37a15
varints for integers and lengths in AST encoding.
Jun 14, 2014
556840f
allow \x escapes
Jun 15, 2014
1ffde64
Remove "Catch" from kernel AST.
Jun 27, 2014
d0aca3b
no empty segments at the end of quasis
Jun 30, 2014
46cc7d9
New quasiparser expansion.
Jun 30, 2014
5710f62
pkg change committed too early
Jul 3, 2014
32eedda
clean up example
Jul 3, 2014
c709771
Prep for Twine.
Jul 18, 2014
9cb1c39
First part of Twine support.
Jul 19, 2014
e5431a8
LocatedTwine (and no tests)
Jul 20, 2014
b7ffd41
CompositeTwine (and no tests)
Jul 20, 2014
43ef006
A couple Twine tests.
Jul 20, 2014
c90daa5
twine tests
Jul 29, 2014
9024802
bin: Add -c flag for compiling without execution.
MostAwesomeDude May 9, 2014
36fdb4b
twine tests
Aug 2, 2014
86e1be3
LocatedTwine tests
Aug 2, 2014
ac90662
CompositeTwine tests
Aug 3, 2014
c4587e6
compiler: Show possible names when out-of-scope name is found.
MostAwesomeDude Mar 29, 2014
5747fc4
fix tests
Aug 7, 2014
255096c
a little sprucing up
Aug 7, 2014
abfaef8
some forgotten stuff needed by term parsing
Aug 7, 2014
a07b3cf
start of term lexer
Aug 7, 2014
a7e3125
regularize type checking, incorporate ref shortening
Aug 10, 2014
4c04900
char/string lexing
Aug 10, 2014
fe40382
fill in some api stuff and fix a couple bugs
Aug 16, 2014
0198077
round out lexer, start on term parser
Aug 16, 2014
08dee27
tracebacks in test errors
Aug 16, 2014
b385457
little more term parser
Aug 17, 2014
46349d0
I shoulda done this like a million years ago
Aug 23, 2014
1644654
rest of basic (non-quasi) term parsing
Aug 23, 2014
0903b9f
try to fix rtd apostrophe rendering issue
Oct 12, 2014
48565d3
tests
Aug 27, 2014
d6a2e3a
guard fix
Nov 10, 2014
752a507
audit caching
Nov 10, 2014
f01bf6e
optimization maybe
Nov 10, 2014
c533da4
start for quasiterms
Nov 11, 2014
dd9a5de
test: Test some properties of varints.
MostAwesomeDude Jul 4, 2014
81e43a0
expander: Remove buggy scope nodes.
MostAwesomeDude Jul 4, 2014
5e58903
runtime/data: Add Character.asInteger().
MostAwesomeDude Jul 14, 2014
111e979
ast: Assert that arities are correct when dumping terms.
MostAwesomeDude Aug 3, 2014
9ebc464
docs: Write some stuff.
MostAwesomeDude May 4, 2014
c814697
docs: Start really fleshing out MfW.
MostAwesomeDude May 4, 2014
e1ff472
Insert some code samples into documentation.
MostAwesomeDude May 15, 2014
b8322a2
docs/intro: Expand on built-in types somewhat.
MostAwesomeDude May 19, 2014
b7be94f
docs: Add writeup on iteration protocol.
MostAwesomeDude Nov 17, 2014
db9d0af
aspirational tests
Dec 1, 2014
d0262ec
build separate qterm tree from quasiterms
Dec 13, 2014
4f837df
support quantifiers on value holes
Dec 13, 2014
188f43d
quasipatterns
Dec 15, 2014
b4f31f0
[Quotes] add what may be the origins of a quotefile
froztbyte Dec 15, 2014
ac2aa54
[parens-ception] fix the destination of the travis build icon in the …
froztbyte Dec 15, 2014
eab9e40
[Quotes] bot sightings
froztbyte Dec 18, 2014
93868d7
move terml into prim, activate term__quasiParser
Dec 19, 2014
a429d1c
easy parts of monte lexer
Dec 25, 2014
87b5703
oops
Jan 3, 2015
4c7f3e5
lexing of indent/dedent
Jan 3, 2015
e840107
minimal emacs support
Jan 4, 2015
a38d3d6
wrong method
Jan 4, 2015
767c054
replace a confusing expander error with a confusing parser error
Jan 4, 2015
ffddf08
emacs mode tweak
Jan 8, 2015
77561c0
fix binding-pattern bug
Jan 10, 2015
460442b
Properly wrap iterator contents as Monte values.
Jan 14, 2015
e42fcc7
)
Jan 15, 2015
6c99049
fix test
Jan 15, 2015
c1dc650
fix fix
Jan 15, 2015
93b4ab7
fix tests
Jan 15, 2015
4f7a005
docstring syntax
Jan 27, 2015
4421f07
start of ast nodes
Jan 29, 2015
7e4490e
handle custom bindings in frames right (needed for 'super')
Jan 30, 2015
84b679c
kill 'typecheck' in favor of guard invocation
Jan 30, 2015
00dc7ff
slot, binding, method call
Jan 30, 2015
da6d794
cleanups
Jan 30, 2015
a799759
meta, seq, module
Jan 31, 2015
d626dcb
module, def
Jan 31, 2015
e64aa69
temp nouns, assign/verbassign/augassign
Feb 1, 2015
b188962
var, list patterns
Feb 2, 2015
c8cc265
binding, via patterns
Feb 4, 2015
2a1f246
if node
Feb 6, 2015
e3041cf
catch, finally, try
Feb 7, 2015
e6fd612
escape, hide exprs
Feb 7, 2015
7d2f64f
object, quasi-holes
Feb 9, 2015
6ac7653
a few simple non-kernel nodes
Feb 11, 2015
0d38e11
compareExpr, funCallExpr
Feb 12, 2015
d9469f8
list, list comprehension
Feb 13, 2015
a40266a
map, map comprehension
Feb 15, 2015
c8f3ca8
for, function definition
Feb 17, 2015
a6a717d
fn, send, function-send, interface, mismatch
Feb 18, 2015
b01128a
range, same, quasi
Feb 18, 2015
371d6c9
when, switch, while
Feb 19, 2015
d60d1ca
suchthat, bind, same, slot, quasi, map patterns; to, function-interface
Feb 20, 2015
b6be281
remove list comprehensions, clean up some repetitive code
Feb 21, 2015
0947415
start on parser
Feb 24, 2015
f627bcc
add \U for 8-digit unicode symbols
Feb 25, 2015
b51f5c0
add test for 8-digit unicode
Feb 25, 2015
8d7be3a
faq: start edunham's menagerie of brainless errors
Feb 25, 2015
4e4fea9
add \U to monte lexer
Feb 25, 2015
6080ecf
test unicode in strings
Feb 26, 2015
a4244b9
documentation!
Feb 26, 2015
733d7ca
clutter up the test suite with more cases of special characters in st…
Feb 26, 2015
5ec4c32
friendlier error when venv not active
Feb 27, 2015
54a93cf
advice for new contributors
Feb 27, 2015
70495b5
copy some useful advice from a ticket
Feb 27, 2015
e9d31d6
found more useful advice in the issue tracker
Feb 27, 2015
826699f
document `return if` syntax
Feb 27, 2015
82fe636
make `return if` example work and docs reflect it
Feb 27, 2015
faef2e2
Make GitHub language stats see that .mt == Monte
Feb 27, 2015
12c4b00
don't coerce before primitive equality checks
Mar 9, 2015
1804230
nouns, quasiliteral exprs
Mar 9, 2015
0e67fc8
less __call__ frames
Mar 14, 2015
0378177
minimal timing support
Mar 14, 2015
0506ed4
various speedups
Mar 14, 2015
5691294
parse hide, list, map
Mar 14, 2015
b39165f
parse final, var, quasi patterns
Mar 21, 2015
b4a18e2
parse same, notsame, slot, binding patterns
Mar 22, 2015
09d9b54
IMPLEMENTING THE PATTERNS. We are implementing the patterns.
Mar 24, 2015
4894ae3
start on exprs containing blocks
Mar 29, 2015
95f64e8
for expr
Mar 31, 2015
3517961
fn expr
Mar 31, 2015
e8c69fe
switch expr
Apr 1, 2015
53c0d4b
try expr
Apr 3, 2015
fa2e981
while, when exprs
Apr 3, 2015
9129d4d
fix compiler bug
Apr 5, 2015
db0ba19
spans in lexer error reports
Apr 7, 2015
cf814e9
object expr
Apr 7, 2015
3e50893
[Quotes] On threats.
mythmon Apr 10, 2015
2f0acc4
function syntax
Apr 10, 2015
91ae29d
interface exprs
Apr 15, 2015
c4183ba
list, map comprehensions
Apr 15, 2015
32e534a
fix some equalizer crap
Apr 16, 2015
dabdeb2
call exprs
Apr 16, 2015
49023ac
runtime/scope: Add new guard names.
MostAwesomeDude Apr 16, 2015
ec5d562
docs: Add stub blurb on guards.
MostAwesomeDude Apr 16, 2015
351b464
src/monte_ast: Fix erroring test.
MostAwesomeDude Apr 16, 2015
b64a6ad
send exprs
Apr 16, 2015
834d804
get exprs
Apr 16, 2015
ae03e8d
src/monte_ast: Fix tests sufficiently to run entire suite.
MostAwesomeDude Apr 17, 2015
65b7d2f
docs/faq: Aggressive cleanup.
MostAwesomeDude Apr 17, 2015
4c6c417
meta exprs
Apr 16, 2015
452d7dd
assign
Apr 17, 2015
6d1862f
fix simple QL pattern matcher
Apr 18, 2015
20e5421
cleanup
Apr 18, 2015
4cee495
def, assign
Apr 18, 2015
6785f9c
expander: Use the new Bool name for the boolean type guard.
MostAwesomeDude Apr 18, 2015
0c8c11f
src/monte_ast: Fix test_objectExpr.
MostAwesomeDude Apr 18, 2015
cee59de
test/test_compiler: Patch up changes to Monte functions.
MostAwesomeDude Apr 18, 2015
96d89a0
src/monte_ast: Finally, hopefully, make the build green.
MostAwesomeDude Apr 18, 2015
82d5336
travis: Use faster builders.
MostAwesomeDude Apr 18, 2015
d9f7721
runtime/bindings: Add __makeFinalSlot.run/1.
MostAwesomeDude Apr 18, 2015
d3b7466
src/monte_ast: Fix meta test.
MostAwesomeDude Apr 18, 2015
ccb8fe2
src/monte_ast: Fix bug which I introduced in InterfaceExpr.
MostAwesomeDude Apr 18, 2015
4e86b49
test/test_runtime: Fix off-by-one in column count.
MostAwesomeDude Apr 18, 2015
1a71185
src: Switch to standardized guard names.
MostAwesomeDude Apr 18, 2015
d97b099
prefix, coerce, miscellaneous
Apr 19, 2015
6e69d29
accept more newlines, subscripts on guards
Apr 19, 2015
e162549
infix, exits
Apr 19, 2015
c1fe549
lexer fix
Apr 19, 2015
e7316b0
slot, binding exprs, regularize nounish exprs/patterns
Apr 19, 2015
522bdf8
ast: Derp around Unicode problems.
MostAwesomeDude Apr 19, 2015
b83c503
indented blocks
Apr 20, 2015
f133ec3
fix functioninterface
Apr 20, 2015
ffbb229
modern docstring syntax
Apr 21, 2015
3bf1c36
[Quotes] high-latency april updates!
froztbyte Apr 23, 2015
1428021
Travis: Don't announce continued success.
mythmon Apr 23, 2015
32ab5bf
docs: Brief blurb on authoring custom guards.
MostAwesomeDude Apr 24, 2015
f3a9dd8
docs/intro: Bunch of tiny fixups.
MostAwesomeDude Apr 24, 2015
6f87dc3
src/monte_parser: Fix build?
MostAwesomeDude Apr 24, 2015
fce052d
monte_parser: Adjust tests to not be wrong.
MostAwesomeDude Apr 24, 2015
38a9802
expander: Hack around occasional bug.
MostAwesomeDude Apr 25, 2015
fb2fc9f
parser nits
Apr 24, 2015
bac7cfa
misc cleanup
Apr 24, 2015
9ff084c
more parser nits
Apr 25, 2015
6578fd7
temporarily remove list comprehensions for bootstrappiness
Apr 25, 2015
b0062ed
nit nit
Apr 25, 2015
1f96172
more nits
Apr 25, 2015
50aba6c
emacs mode fixes
Apr 26, 2015
afec9c3
expander wip
Apr 30, 2015
733dc65
monte_expander: Fix thinko.
MostAwesomeDude Apr 30, 2015
fd19d51
start on fixing up tests
May 1, 2015
fe4ea66
all tests run
May 1, 2015
1fbbc5a
almost all tests pass
May 5, 2015
9662557
all tests pass
May 7, 2015
9cd6d8a
runtime/scope: Use only new guard names.
MostAwesomeDude Apr 28, 2015
87ad131
runtime/guards: Fix guard names.
MostAwesomeDude Apr 28, 2015
f0f41f5
expander: Fix up a couple more old guard names.
MostAwesomeDude Apr 28, 2015
407f115
test/test_runtime: Fix guard-related tests.
MostAwesomeDude Apr 28, 2015
0cece54
src: Fix up guard use in a bunch of spots.
MostAwesomeDude Apr 28, 2015
a3e748c
src/prim/terml/termParser: Fix use of "any".
MostAwesomeDude Apr 28, 2015
3c777e7
monte/test: Fix the last of the tests?
MostAwesomeDude Apr 28, 2015
c272fa1
runtime/data: Add butNot/1 to bools.
MostAwesomeDude May 9, 2015
8d07c6b
docs: Little addition to intro.
MostAwesomeDude May 15, 2015
ecb7fb2
docs: Start documenting tubes.
MostAwesomeDude Jun 5, 2015
6be82c2
docs: Document all the patterns.
MostAwesomeDude Jun 13, 2015
bf84591
docs: Write up the Montefesto.
MostAwesomeDude Jun 18, 2015
b3e6737
docs: Write about Miranda methods.
MostAwesomeDude Jun 25, 2015
3b6c305
docs: Break ground on glossary.
MostAwesomeDude Jun 25, 2015
976839c
docs: Commit lost page.
MostAwesomeDude Jun 25, 2015
3f129b9
docs: Document Miranda _sealedDispatch/1.
MostAwesomeDude Jul 3, 2015
2eaf12e
docs: Bug in Typhon was fixed, so remove the note.
MostAwesomeDude Jul 3, 2015
e129b3e
docs: Document interfaces a bit.
MostAwesomeDude Jul 12, 2015
76491e1
docs/guards: Improve the situation a bit.
MostAwesomeDude Jul 22, 2015
fe504f5
gloss catamorphisms
dckc Jul 24, 2015
d87a94b
"Unbreak" the build.
MostAwesomeDude Jul 24, 2015
2f720d4
tabatkins/railroad-diagrams 6dc2126610
dckc Jul 26, 2015
d7b754d
toward syntax diagrams, based on typhon/mast/lib/monte/monte_parser.mt
dckc Jul 26, 2015
3a55c81
generated SVG, rst from syntax_diagrams.py
dckc Jul 26, 2015
7e5b8fc
fix syntax diagram file paths
dckc Jul 26, 2015
fa73239
add syntax diagram section
dckc Jul 26, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.mt linguist-language=Monte
7 changes: 5 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# Switch to faster container-based builders. Forbids use of sudo, setuid,
# seteid, etc. but we don't need them.
sudo: false
language: python
python:
- '2.7'
- pypy

matrix:
allow_failures:
- python: '2.7'
- python: pypy
fast_finish: true

Expand All @@ -16,6 +20,5 @@ notifications:
irc:
channels:
- "chat.freenode.net#monte"
on_success: always
on_success: change
on_failure: always

2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Copyright (c) 2008-2014
Allen Short
Corbin Simpson
Mike Cooper
E. Dunham
Combex, Inc.
Google, Inc.

Soli Deo Gloria.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ if you have a problem with the docs, telling us what question you had and
where you expected to find the answer. Or come say hi on IRC, in #monte on
irc.freenode.net!

![Travis Status](https://api.travis-ci.org/monte-language/monte.svg)
[![Travis Status](https://api.travis-ci.org/monte-language/monte.svg)](https://travis-ci.org/monte-language/monte/)
22 changes: 19 additions & 3 deletions bin/monte
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,29 @@ while os.path.dirname(path) != path:
break
path = os.path.dirname(path)

from monte.runtime.load import eval as monte_eval, monteImport
# from monte.repl import startRepl
try:
from monte.runtime.load import eval as monte_eval, monteImport
# from monte.repl import startRepl
except ImportError:
import_error_message = """Failed to import a required Python module.
Is everything in requirements.txt installed and available?
"""
print >> sys.stderr, import_error_message
exit(-1)

# startRepl()
from monte.runtime.scope import bootScope, createSafeScope
safeScope = createSafeScope(bootScope)
scriptScope = safeScope.copy()
scriptScope["import"] = monteImport(safeScope)
if len(sys.argv) > 1:
monte_eval(open(sys.argv[1]).read(), scriptScope)
if sys.argv[1] == "-c":
# Compile-only mode!
source = open(sys.argv[2]).read()
from monte.parser import parse
from monte.expander import expand
from monte.ast import dump
ast = expand(parse(source))
sys.stdout.write(dump(ast))
else:
monte_eval(open(sys.argv[1]).read(), scriptScope)
44 changes: 44 additions & 0 deletions contrib/Quotes
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<simpson> I mean, to be frank, at some point this is all Prolog reinvention.
<simpson> But whatever.
<dash> sure
<dash> the problem is that the good parts of prolog are all locked away in... prolog implementations
*time passes*
<dash> simpson: i guess we have about half a prolog now
<simpson> dash: Which is appropriate. That's what's supposed to happen, right? We are now complex enough to have an ill-specified and slightly buggy reimplementation of Prolog in our system.
<dash> yeah! we're ahead of all those other suckers who got common lisp instead
%
--> monteBot ([email protected]) has joined #monte
<simpson> monteBot: speak
<monteBot> Hi there!
<simpson> Okay, the latency's good now.
<dash> monteBot: kill
<simpson> dash: It's not yet equipped for that.
<dash> simpson: i'm patient.
%
<dash> well, okay. what's our threat model?
<simpson> Developers want to deploy HTTPS sites.
<simpson> Origin of threat: Developers
%
<dash> simpson: clicking randomly through stackexchange, i think i know how other programmers feel during our design conversations: http://gaming.stackexchange.com/q/214975/2354
<dash> "... i know _some_ of those words?"
<mythmon> dash: can confirm
%
< froztbyte> simpson: a pet hate of mine in REPLs is when something doesn't allow forard/reverse word jumps, back-kill-word, etc
< froztbyte> I don't know how much effort those are to implement without readline
< dash> froztbyte: easy
< froztbyte> but I guess since the parser already does some of that work, parts of it might be reused?
< dash> froztbyte: make emacs your repl frontend
< froztbyte> dash: snrk
< dash> froztbyte: it's been done
< dash> also, there's rlwrap
< froztbyte> oh, I can believe that
< mythmon> froztbyte: without readline? not easy. but then, why not just use readline?
< froztbyte> readline, curses, and Tk
< froztbyte> are some of the ingredients commonly found on a unix/linux system which I've actually very successfully managed to not learn things about
< dash> who'd want to
< froztbyte> heh
< simpson> dash: Oh my. I did not know about rlwrap.
< simpson> Holy fuck now e/rune doesn't suck!
* simpson *ahem*
< simpson> I mean, yes. Very nifty. Quite. Capital.
%
73 changes: 73 additions & 0 deletions contrib/monte.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
;; monte.el -- support for editing Monte code -*- lexical-binding: t -*-

(defvar monte-mode-map
(let ((map (make-sparse-keymap)))
;; (define-key map [remap forward-sentence] 'monte-forward-block)
;; (define-key map [remap backward-sentence] 'monte-backward-block)
;; (define-key map "\177" 'monde-dedent-line-backspace)
;; (define-key map (kbd "<backtab>") 'monte-dedent-line)
map)
"Keymap for monte-mode.")

(defun monte-get-previous-line-indent ()
(save-excursion
(forward-line -1)
(while (string-match "^ +$" (thing-at-point 'line))
(forward-line -1))
(current-indentation)))

(defun monte-indent-line ()
(interactive)
(message "%s %s %s" this-command last-command (- (current-indentation) 4))
(let ((previous-indent (monte-get-previous-line-indent))
(is-cycling (eq this-command last-command)))
(if is-cycling
(if (eq (current-indentation) 0)
(indent-to (+ previous-indent 4))
(let ((place (- (current-indentation) 4)))
(beginning-of-line)
(delete-horizontal-space)
(indent-to place)))
(indent-to (+ previous-indent 4)))))

(defvar monte-font-lock-keywords
`(,(rx symbol-start
(or "as" "bind" "break" "catch" "continue" "def" "else" "escape"
"exit" "extends" "export" "finally" "fn" "for" "guards" "if"
"implements" "in" "interface" "match" "meta" "method" "module"
"object" "pass" "pragma" "return" "switch" "to" "try" "var"
"via" "when" "while")
symbol-end)
(,(rx symbol-start "def" (1+ space) (group (1+ (or word ?_))) (0+ space) ?\()
(1 font-lock-function-name-face))
(,(rx symbol-start "object" (1+ space) (group (1+ (or word ?_))))
(1 font-lock-function-name-face))
(,(rx symbol-start (or "def" "var") (1+ space) (group (1+ (or word ?_))) (0+ space) ?: ?=)
(1 font-lock-variable-name-face))
))

(defvar monte-mode-syntax-table
(let ((table (make-syntax-table)))
(mapc (lambda (c) (modify-syntax-entry c "." table)) "$%+-.:;<=>?@^|")
(modify-syntax-entry ?+ "." table)
(modify-syntax-entry ?* ". 23b" monte-mode-syntax-table)
(modify-syntax-entry ?/ ". 14b" monte-mode-syntax-table)
(modify-syntax-entry ?# "<" table)
(modify-syntax-entry ?\n ">" table)
(modify-syntax-entry ?' "\"" table)
(modify-syntax-entry ?` "\"" table)
(modify-syntax-entry ?\\ "\\" table)
table)
"Monte syntax table.")

;;;###autoload
(define-derived-mode monte-mode prog-mode "Monte"
"Major mode for editing Montefiles.

\\{monte-mode-map}"
(set (make-local-variable 'indent-tabs-mode) nil)
(set (make-local-variable 'comment-start) "# ")
(set (make-local-variable 'comment-start-skip) "#+\\s-*")
(set (make-local-variable 'font-lock-defaults) '(monte-font-lock-keywords nil nil nil nil))
(set (make-local-variable 'indent-line-function) 'monte-indent-line)
(setq-local electric-indent-inhibit t))
26 changes: 26 additions & 0 deletions docs/source/_static/railroad-diagrams.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
svg.railroad-diagram {
background-color: hsl(30,20%,95%);
}
svg.railroad-diagram path {
stroke-width: 3;
stroke: black;
fill: rgba(0,0,0,0);
}
svg.railroad-diagram text {
font: bold 14px monospace;
text-anchor: middle;
}
svg.railroad-diagram text.label {
text-anchor: start;
}
svg.railroad-diagram text.comment {
font: italic 12px monospace;
}
svg.railroad-diagram g.non-terminal text {
/*font-style: italic;*/
}
svg.railroad-diagram rect {
stroke-width: 3;
stroke: black;
fill: hsl(120,100%,90%);
}
162 changes: 162 additions & 0 deletions docs/source/_static/rr_assign.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading