4 class PythonMonoglot < Monoglot
6 def initialize(language)
9 State.new( language, :code, :code),
10 State.new( language, :multi_line_squote, :code),
11 State.new( language, :multi_line_dquote, :code),
12 State.new( language, :raw_dquote, :code),
13 State.new( language, :squote, :code),
14 State.new( language, :dquote, :code),
15 State.new( language, :line_comment, :comment)
18 Transition.new(language, "'''", :code, :multi_line_squote, :from, false),
19 Transition.new(language, "'''",:multi_line_squote, :return, :from, false),
20 Transition.new(language, e('"""'), :code, :multi_line_dquote, :from, false),
21 Transition.new(language, e('"""'), :multi_line_dquote, :return, :from, false),
22 Transition.new(language, e('r"'), :code, :raw_dquote, :from, false),
23 Transition.new(language, e('"'), :raw_dquote, :return, :from, false),
24 Transition.new(language, "'", :code, :squote, :from, false),
25 Transition.new(language, e("\\'"), :squote, :return, :from, true, "ESC"),
26 Transition.new(language, "'", :squote, :return, :to, false),
27 Transition.new(language, e('"'), :code, :dquote, :to, false),
28 Transition.new(language, e('\\"'), :dquote, :return, :from, true, "ESC"),
29 Transition.new(language, e('"'), :dquote, :return, :to, false),
30 Transition.new(language, '#', :code, :line_comment, :to, false),
31 Transition.new(language, '\n', :line_comment, :return, :from, false)